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,有些浏览器会自动将\换成/所以能正常,但这也不是解决办法。

目前还没有解决,等有空了继续折腾。

0 回复

发表评论

Want to join the discussion?
Feel free to contribute!

发表评论

您的电子邮箱地址不会被公开。