42
产品文档
基础问题
常见问题
利用.htaccess文件强制跳转至https的多种设置方法

在网站上安装了SSL证书并且打开了https后,如果没有设置强制跳转,HTTP和https将同时存在。这里分享下在Apache网络环境下利用静态文件强制跳转到HTTPS的几种设置方法:

.htaccess是Apache环境下网站的一个配置文件。通过.htaccess文件,可以帮我们实现网页301重定向等功能。如果你的网站根目录下没有.htaccess文件那么就自己手动创建一个。

方法一:强制301重定向HTTPS

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
</IfModule>

通过.htaccess设置301将HTTP重定向到HTTPS是最为常见的方法。

方法二:http80强制跳转https

在.htaccess文件中加入以下规则

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

或者

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]

方法三:强制https访问,并自动将顶级域名跳转到www域名

以知鸟云为例,顶级域名是zhiniaoyun.net,本教程是将:http://zhiniaoyun.net跳转到https://www.zhiniaoyun.net/

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.zhiniaoyun.net$ [NC]
RewriteRule ^(.*)$ https://www.zhiniaoyun.net/$1 [L,R=301]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.zhiniaoyun.net/$1 [L,R=301]

方法四:强制https访问,并自动将www域名跳转到顶级域名

例:http://www.zhiniaoyun.net跳转到https://zhiniaoyun.net/

RewriteEngine On
RewriteCond %{HTTP_HOST} !^zhiniaoyun.net$ [NC]
RewriteRule ^(.*)$ https://zhiniaoyun.net/$1 [L,R=301]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://xinshouzhanzhang.com/$1 [L,R=301]


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!