openshift中折腾nginx的301跳转
网站本来是想8win.net全站跳转到www.8win.net的,拆腾了几天还是没有搞定。
修改nginx.conf
if ($host != ‘www.8win.net’){
rewrite ^/(.*)$ https://www.8win.net/$1 permanent;
}
修改好后nginx -s reload重新加载,发现根本就不能跳转。
curl -i 8win.net的结果是301跳转了,不过是跳到原地址发生循环跳转了。
然后尝试将rewrite ^/(.*)$ https://www.8win.net/$1 permanent; 改为rewrite ^/(.*)$ https://www.8win.net permanent; ,
现在可以正常跳转了,但是8win.net下所有页面都会跳转到www.8win.net的首页。
估计判定是那个/出的问题再次修改为rewrite ^/(.*)$ https://www.8win.net$1 permanent; 可以正常跳转,但是少一个/导致访问不了。 https://www.8win.net/index.php会跳转为https://www.8win.netindex.php
再测试rewrite ^ https://www.8win.net/ permanent; 再次出现循环跳转
rewrite ^ https://www.8win.net$request_uri permanent; 还是出现循环跳转
rewrite ^ https://www.8win.net\$request_uri permanent; 部分浏览器倒是可以正常跳转了,不过URL会变成www.8win.net//index.php这种类型,查看curl -i 的location结果成了www.8win.net\/index.php,有些浏览器会自动将\换成/所以能正常,但这也不是解决办法。
目前还没有解决,等有空了继续折腾。
发表评论
Want to join the discussion?Feel free to contribute!