2016-09-28 233 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

相關問題