我在domiy.com上有一个网站,现在我将名称更改为namedar.com。 我想301redirectdomiy.com(或nametyper.com)的所有请求,以便他们返回具有请求URI完整的namedar.com。
我已经尝试将所有内容redirect到namedar.com,但是当请求到达named.com时会导致redirect循环。
rewrite ^ $scheme://nametyper.com$request_uri permanent; # Doesn't work
我还想保持这样的configuration,使得所有'www'请求都被redirect到非www版本。
我的nginx.conf看起来像这样:
server { server_name namedar.com www.namedar.com domiy.com www.domiy.com nametyper.com www.nametyper.com; # Remove all 'www.' prefixes. if ($host ~* www\.(.*)) { set $host_without_www $1; rewrite ^(.*)$ $scheme://$host_without_www$1 permanent; } }
我如何写一个rewrite指令来完成这个?
请让我分两步走
第1步:www到非www
服务器{
server_name www.domainname.com;
返回301 $ scheme://domainname.com$request_uri;
}
服务器{
server_name domainname.com;
#常规的块和指令
}
第2步:first_domain.com到second_domain.com
服务器{
server_name first_domain.com www.first_domain.com;
返回301 $ scheme://second_domain.com$request_uri;
}
您可以修改上述步骤,使其适用于任何数量的域。 而且,您可以将这两者结合在一起。
顺便说一句,在Nginx, 如果被认为是邪恶的 。