Apache重定向在HTTPS中

时间:2013-02-08 14:44:58

标签: apache redirect ssl

我有一台Apache服务器(https://mysite.com/sub/en/)。它在端口443和VirtualHost标签中使用SSL进行设置:

<VirtualHost _default_:443>
Redirect permanent /sub https://mysite.com/sub/en/
...
</VirtualHost>

基本上,当用户访问该站点时,我希望它们被强制转到“/ en”子目录。但是,如果您尝试访问https://mysite.com/sub,则不会将您重定向到子“/ en”目录。

我真的不确定发生了什么。我在非ssl虚拟主机标签中有类似的设置:

<VirtualHost *:80>
Redirect permanent / https://mysite.com/sub/en/
Redirect permanent /sub https://mysite.com/sub/en
</VirtualHost>

这些规则运作正常。因此,如果用户尝试http://mysite.com/sub,它会将它们转发到SSL版本,并将“/ en”子目录转发给我想要的版本。但是,如果您尝试使用SSL版本:https://mysite.com/sub,则无法转发。

我的配置有误吗?我没有使用正确的重定向或重写规则吗?

1 个答案:

答案 0 :(得分:0)

为了按照我想要的方式工作,我最终使用了RewriteRule:

RewriteRule ^/sub$ https://mysite.com/sub/en/

这似乎已经成功了。