我有一台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
,则无法转发。
我的配置有误吗?我没有使用正确的重定向或重写规则吗?
答案 0 :(得分:0)
为了按照我想要的方式工作,我最终使用了RewriteRule:
RewriteRule ^/sub$ https://mysite.com/sub/en/
这似乎已经成功了。