0
我试图在我的网站上使用新的SSL设置/证书来运行.htaccess。它在部分工作,但似乎无法将我所追求的所有规则结合起来。用简单的英语,我正在寻找的行为是:.htaccess中的三个子句 - https和http,www和非www以及IE 6-8
- 如果浏览器是IE 6-8,请将用户发送到http。这包括 将所有https请求发送到http。另外,将所有非www 发送到www。基本上,如果它是IE 6-8,发送到http/www。
- 如果浏览器是其他任何东西,并且请求http,请发送到http://www.hp.com/。再次,发送所有非www到www。基本上 - 任何http请求= http/www服务
- 如果浏览器是其他任何和HTTPS请求,请发送到 https。再次,发送所有非www到www。基本上,任何HTTPS 请求= HTTPS/WWW服务
目前我有:
RewriteEngine on
#Redirect all http MSIE 6-8
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_USER_AGENT} "MSIE [6-8]" [NC]
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
#Redirect all https MSIE 6-8
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_USER_AGENT} "MSIE [6-8]" [NC]
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
#Send http to http, non-www to www
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
#Send https to https, non-www to www
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
一切似乎是工作,除了在IE 6-8 HTTPS/WWW请求仍然被服务作为https。我错过了什么?!提前致谢!