2017-08-30 101 views
0

我做了我的網站從http到https的切換。現在,我想301將所有http內容重定向到https。使用多個重寫規則.htaccess

我想利用這個規則:

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

的問題是我也已經另一個規則到位會被重定向所有非www網頁,到www的。

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^example.com [NC] 
RewriteRule ^(.*) http://www.example.com/$1 [last,redirect=301] 

我怎樣才能結合起來所以無論鏈接用戶寫入(HTTP非www; HTTP WWW; HTTPS非www)所有重定向到https://www.example.com

乾杯!

回答

0

您可以使用此單一規則單一規則添加wwwhttp->https

RewriteEngine On 

RewriteCond %{HTTP_HOST} !^www\. [NC,OR] 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] 
RewriteRule^https://www.%1%{REQUEST_URI} [R=301,L,NE] 

此規則應保持略低於RewriteEngine線,並確保測試這些修改時清除瀏覽器緩存。

+0

@RonaldoGjini:這是否適合你? – anubhava