如何重定向“http://domain.com”。用Nginx来“http://domain.com”?
建议这样做的方法是什么?正则表达式还是有其他选择?
最佳答案
以下代码段以一般方式执行此操作,而无需对任何主机名进行硬编码(如果服务器配置处理对多个域的请求,则很有用)。将此添加到所需的任何服务器定义中。
if ($http_host ~ "\.$" ){
rewrite ^(.*) $scheme://$host$1 permanent;
}
这利用了
$host
删除了结尾点(而$http_host
却没有删除)的事实(由Igor Sysoev指出)。因此我们可以匹配$http_host
中的点,并自动使用$host
进行重定向。
关于Nginx-重定向域尾随点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15452328/