在nginx中删除域名之后的点

时间:2013-07-31 11:38:50

标签: redirect web nginx dns

我检测到我的网站可以使用域名访问,最后点。例如“sim-portal.ru。”。它运作良好,我发现根据W3C,这是一个很好的域名形式。但我需要这个域自动重定向到正常域(没有点),例如“sim-portal.ru”,因为cookie不能在“尖头”域中工作,链接看起来不对。我使用下一条规则将www.-prefixed域(如www.sim-portal.ru)重定向到基本域:

server {
    listen  80;
    server_name  www.sim-portal.ru;
    rewrite ^ http://sim-portal.ru$request_uri? permanent; #301 redirect
}

但是同样的规则对于后点域名不起作用:

server {
    listen  80;
    server_name  sim-portal.ru.;
    rewrite ^ http://sim-portal.ru$request_uri? permanent; #301 redirect
}

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我自己找到了一个很好的解决方案。 添加到服务器{}块(适用于www.sim-portal.ru和sim-portal.ru)的此规则将解决此问题:

if ($http_host != 'sim-portal.ru') {
    return 301 http://sim-portal.ru$request_uri;
}

但是别忘了重新启动nginx!