我是 nginx 配置的新手,到目前为止已经花了很多时间谷歌搜索。我正在尝试创建一个非常基本的 nginx 配置文件,用于“重定向”服务器。
用户将需要通过 A 记录将裸域 (example.com) 指向我的重定向服务器 IP 地址,并通过 CNAME 将“www”记录指向另一台服务器。
重定向服务器的目的是执行 301 重定向任何/通配符裸域回“www”版本的域,以便我的其他服务器可以正确处理它。
但我还想捕获通过 A 记录指向我的服务器 IP 的任何配置错误的“www”域,并简单地将它们定向到重定向服务器上的自定义错误页面,并进一步说明如何为我的服务器正确设置其帐户。服务。
这就是我所拥有的。它有效,但由于我是编写配置的新手,我想知道是否有更好的方法来处理第一个服务器块中的自定义错误页面的重定向。蒂亚!
#redirect to error page if begins with 'www.'
server {
listen 80;
server_name ~^www.; #only matches if starts with 'www.'. Is this good enough?
rewrite ^(.*)$ /404.html; #is this the correct way to direct to a custom error page?
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
}
#no match, so redirect to …Run Code Online (Sandbox Code Playgroud)