我有重定向工作的http到https,以及规范化非www网址重定向到WWW版本......好吧,等等。
http://www.domain.com重定向到https://www.domain.com
http://domain.com重定向到https://www.domain.com
然而, https://domain.com无法连接(不同的浏览器提供不同的消息)。
我验证了mod_rewrite已启用。这是以下代码:
#Redirect to SSL
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI}[R01,L]
#Canonicalization
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ https://www.domain.com/$1[L,R01]
两个问题:
1。)为什么没有https://domain.com路由到https://www.domain.com?
2。)我已经看到重定向的标志R = 301,但是R01意味着什么?
谢谢!
答案 0 :(得分:1)
你可以将两者结合起来:
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ https://www.domain.com/$1 [L,R=301]
一些事情:
$1[L,R01]
最终会被解释为目标网址的一部分。