使用以下
获得正常工作的.htaccess文件Redirect 301 /secure/test/ http://ww2.example.com/secure/test/
Redirect 301 /test/ http://ww2.example.com/test/
Redirect 301 /submission/ http://ww2.example.com/submission/
这将很乐意重定向:
http://example.com/secure/test/login.aspx
但如果有人进来
https://example.com/secure/test/login.aspx
它不起作用,如何重定向所有https流量以遵循上述规则?
答案 0 :(得分:0)
您需要更改mod_alias重定向以改为使用mod_rewrite。
例如,在.htaccess中:
RewriteEngine
RewriteCond %{SERVER_PROTOCOL} ^http(s?) [NC]
RewriteRule ^(secure/test/.*) http%1://ww2.example.com/$1 [R=302,L]
这会将http
重定向到http
,将https
重定向到https
。 (您确定并不总是想要重定向到https
吗?)
%1
反向引用与s
中的SERVER_PROTOCOL
匹配(如果存在)。
在测试之前清除浏览器缓存(缓存301重定向),并在确定其正常工作时将302
(临时)重定向更改为301
(永久)。