共计 796 个字符,预计需要花费 2 分钟才能阅读完成。
网站本来是想 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, 有些浏览器会自动将 \ 换成 / 所以能正常,但这也不是解决办法。
目前还没有解决,等有空了继续折腾。