我正在尝试配置从旧站点到新站点的 http 和 https 重定向。
根据重写指令文档:
如果替换字符串以 http:// 开头,则客户端将被重定向,并且任何进一步的重写指令都将终止。
我试图用 https 来达到同样的效果,但无济于事。这是我的服务器配置:
listen 80;
listen 443 ssl;
server_name mydomain.com
rewrite ^/path/resource(.*)$ $scheme://newdomain.com/newpath/resource$1 permanent;
...
return 301 http://newdomain.com/newpath/;
使用 http 我得到了我正在寻找的东西:如果我访问mydomain.com/path/resource我被重定向到newdomain.com/newpath/resource。
但是,与 https 相同会将我重定向到http://newdomain.com/newpath/。
我打开了 rewrite_log,在这两种情况下,重写规则都匹配,但 https 协议不会停止进一步的规则处理。
我有一种感觉,要么我错过了一些非常明显的东西,要么我没有正确解决这个问题。如果可行的话,我完全不介意以任何不同的方式来做这件事。
你们中的任何人都知道如何使用 https 实现 http 重定向吗?