Apache强制WWW跳转以及强制HTTPS加密跳转的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache强制WWW跳转以及强制HTTPS加密跳转的方法相关的知识,希望对你有一定的参考价值。

一般我会较多的使用WORDPRESS程序,其在安装的时候我们如果直接用WWW打开,或者在后台设置WWW域名则默认会强制301指向WWW站点域名。而这里有使用ZBLOG或者TYPECHO等其他博客程序则不会默认301跳转。理论上从用户体验,还是从搜索引擎,最好是统一要么WWW,要么不带WWW格式的网址。

所以,我准备在Apache中用301跳转强制WWW格式,这里我是用的Apache虚拟主机环境所以直接在根目录的.htaccess文件设置就可以。

第一、强制WWW跳转

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

添加到伪静态文件中,立即生效。

第二、强制HTTPS格式

因为HTTPS加密格式网址也在陆续的流行和必须,所以我也在考虑和调整添加HTTPS格式的网址,毕竟免费SSL证书也比较多,添加也不复杂,刚才测试后还是可以的,唯独也需要将HTTPS强制跳转,因为HTTP和HTTPS也最好唯一。

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

同样的,可以在.htaccess文件中添加强制HTTPS跳转。

第三、补充301跳转

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

如果我们有朋友喜欢用不带WWW的格式,所以我们也可以强制不带WWW跳转和HTTPS强制不带WWW。









以上是关于Apache强制WWW跳转以及强制HTTPS加密跳转的方法的主要内容,如果未能解决你的问题,请参考以下文章

nginx http301强制跳转https域名跳转到带www

如何使http请求强制跳转到https

nginx http强制跳转https

Nginx 配置 https 后,http 强制跳转到 https,主域名跳转至带 www 的二级域名

nginx 访问http强制跳转https

web.xml中配置 http强制跳转https,防端口丢失