openshift中折腾nginx的301跳转

2,464次阅读
没有评论

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

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

Winter
版权声明:本站原创文章,由 Winter 2016-04-26发表,共计796字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码
载入中...