如何将domain.com或www.domain.com重定向到https www.domain.com

时间:2017-09-23 08:19:39

标签: .htaccess cpanel

我想将我的域名http重定向到https,我已经使用下面提到的代码

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ https www.domain.com/$1 [L,R=301,NC]

当用户输入domain.com时,它会自动重定向到https www.domain.com但是当用户只输入www.domain.com时,它会重定向到http www.domain.com

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

您可以使用:

cdef

答案 1 :(得分:0)

在你的代码中:

RewriteCond %{HTTP_HOST} ^domain.com [NC]

这是以下规则的条件;因此该规则仅适用于无www请求。

此外,在测试新代码时,请不要使用R=301重定向,除非您确保规则正常,并且可以使用R=302R

无论您的代码如何将以下代码放在主目录.htaccess

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R]

如果您想强制每个请求www,您应该这样做:

RewriteEngine On

RewriteCond %{HTTPS} !=on
#this line above will match any request without `https`

RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R]

#the two lines above will exclude none `www` request and force only `www` request unto `https` and the rule will stop here `L`

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R]

# the last two line will exclude any `www` request and force only none `www` into `https`