我有一个问题,如果用户键入:
www.myurl.com/page.html
他们首先被redirect到
myurl.com/page.html
然后去
myurl.com/page
这是因为我在我的conf文件中有以下内容
#remove www from url if ($host ~* ^www\.(.*)) { set $remove_www $1; rewrite ^(.*)$ http://$remove_www$1 permanent; } location /{ # removes .html extension if ($request_uri ~ \.html($|\?)) { rewrite ^(.+)\.html$ $1 permanent; } }
我的问题 :
有没有办法消除第一次redirect,以便如果用户键入www.mysite.com/page.html他们直接redirect到mysite.com/page
你需要你的www. 规则.html如果存在。 你也不应该需要在第二次重写if语句:
#remove www from url if ($host ~* ^www\.(.*)) { set $remove_www $1; rewrite ^(.*?)(\.html)?$ http://$remove_www$1 permanent; } location / { rewrite ^(.+)\.html$ $1 permanent; }