2017-08-30 99 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