我正在尝试设置一个 apacheRedirectMatch
以将所有流量从一个虚拟主机发送到另一个虚拟主机(启用 SSL 的标准)但是,由于网站的中文版本上的某些内容,(优酷视频不支持 SSL 嵌入)我必须保持中文/zh
非 SSL 虚拟主机上的版本 ( )。
所以我的目标是重定向来自非 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 对这一切感到非常困惑。