我正在尝试设置apache RedirectMatch
以将所有流量从一个虚拟主机发送到另一个虚拟主机(标准启用SSL)但是,由于该网站的中文版本中的某些内容,(YouKu视频没有SSL)嵌入支持)我必须在非ssl虚拟主机上维护中文版本(/zh
)。
所以我的目标是重定向来自非ssl的所有流量,使用RedirectMatch否定/ zh,如下所示:
RedirectMatch ^/([^zh]{0,2}.*) https://domain.com/$1
然后在SSL vhost上将/ zh上的任何内容重定向到非ssl,如下所示:
RedirectMatch ^/(zh.*) http://domain.com/$1
然而,这似乎给了我一个重定向循环..我认为非ssl正则表达式有问题,但我无法理解。
非常感谢任何帮助或其他建议。
干杯!
修改
我现在甚至为此尝试了mod_rewrite:
非SSL -
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/zh
RewriteRule ^(.*)$ https://domain.com$1 [R=301,L]
SSL -
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/zh
RewriteRule ^(.*)$ http://domain.com$1 [R=301,L]
然而,这是将/ zh重定向到https://domain.com/index.php:S对此非常困惑。