【发布时间】:2013-08-02 14:45:22
【问题描述】:
我正在尝试配置从旧站点到新站点的 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 on,在这两种情况下,重写规则都匹配,但 https 协议不会停止进一步的规则处理。
我觉得要么我遗漏了一些非常明显的东西,要么我没有正确解决这个问题。如果可行,我完全不介意以任何不同的方式执行此操作。
你们中有人知道如何使用 https 实现 http 重定向吗?
【问题讨论】: