2016-09-28 197 views

回答

1

我会尝试以下方法:

RewriteEngine On 

# URL with www rewrite to https without www 
RewriteCond %{HTTP_HOST} ^(www\.)(.*) [NC] 
RewriteRule (.*) https://%2%{REQUEST_URI} [L,R=301] 

# URL without www rewrite to https 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} !^(www\.)(.*) [NC] 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
+1

您在'RewriteRule' _pattern_中没有捕获组(匹配'$ 1'),(或者将反向引用改为$ 0')。但是这个重定向'http:// example.com'也不会。 – MrWhite

+0

你是对的,错过了那部分。我编辑了我的帖子。谢谢! –

+0

+1 Minor tidy ...根据上述规则,第二个规则集中的'RewriteCond%{HTTP_HOST} ...'指令似乎是多余的。除非需要捕获子模式,否则不需要括号。 (无论如何,你实际上无法在否定的正则表达式中捕获组。) – MrWhite

相关问题