如何重定向“ http://domain.com ”。使用 Nginx到“ http://domain.com ”?
这样做的推荐方法是什么?正则表达式还是有其他选择?
以下代码片段以一般方式执行此操作,而无需对任何主机名进行硬编码(如果您的服务器配置处理多个域的请求,则很有用)。将此添加到您需要的任何服务器定义中。
if ($http_host ~ "\.$" ){
rewrite ^(.*) $scheme://$host$1 permanent;
}
这利用了删除尾随点的事实(由Igor Sysoev指出)$host
,而$http_host
没有;所以我们可以匹配点$http_host
并自动$host
用于重定向。
您将需要使用正则表达式。
server {
listen 80;
server_name domain.com.WHATEVER, domain.com.WHATEVER-2, domain.com.WHATEVER-3;
rewrite ^ $scheme://domain.com$request_uri? permanent;
}
来自:http ://wiki.nginx.org/HttpRewriteModule
重定向 - 返回带有代码 302 的临时重定向;如果替换行以 http://permanent 开头,则使用它 - 返回带有代码 301 的永久重定向