https重定向无法正常工作

时间:2015-09-25 10:20:35

标签: .htaccess redirect

使用以下

获得正常工作的.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流量以遵循上述规则?

1 个答案:

答案 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(永久)。