0

我有一个 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 version: https://mysite.com/sub,它就无法转发。

我是不是配置错了?我没有使用正确的重定向或重写规则吗?

4

1 回答 1

0

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

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

这似乎成功了。

于 2013-03-05T20:45:30.273 回答