使用以下 Nginx 配置:
server {
listen 80;
listen [::]:80 default_server ipv6only=on;
server_name isitmaintained.com;
...
}
server {
listen 178.62.136.230:80;
server_name 178.62.136.230;
add_header X-Frame-Options "SAMEORIGIN";
return 301 $scheme://isitmaintained.com$request_uri;
}
我正在尝试重定向http://178.62.136.230/
至http://isitmaintained.com/但是当我部署此配置时,我最终得到了其中一个Redirect loop
或两个链接。
我究竟做错了什么?
答案1
在第二个区块上尝试这个:
server {
listen 80;
server_name 178.62.136.230;
return 302 $scheme://google.com$request_uri;
}
问题是第二个服务器块listen
指令比第一个服务器块更具体,因此它总是被使用。而且由于第二个块是该规范的唯一虚拟主机listen
,因此它总是被使用。
注意:301 将添加永久重定向。使用 302 进行测试。
答案2
你已经很接近了。你正在寻找的是重写。
server {
listen 178.62.136.230:80;
server_name 178.62.136.230 isitmaintained.com;
rewrite ^/(.*)$ http://www.isitmaintained.com/$1 permanent;
}
server {
listen 80;
server_name www.isitmaintained.com;
# Serve Stuff Here.
}