首页  >  文章  >  运维  >  apache同时配置301和https跳转

apache同时配置301和https跳转

(*-*)浩
(*-*)浩原创
2019-11-23 13:36:563488浏览

apache同时配置301和https跳转

一般我会较多的使用WORDPRESS等程序,其在安装的时候我们如果直接用WWW打开,或者在后台设置WWW域名则默认会强制301指向WWW站点域名。        ( 推荐学习:apache入门 )

而这里有使用ZBLOG(php新版的也是支持的,后台设置固定链接即可)或者TYPECHO等其他博客程序则不会默认301跳转。理论上从用户体验,还是从搜索引擎,最好是统一要么WWW,要么不带WWW格式的网址。

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

第一、强制WWW跳转

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

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

第二、强制HTTPS格式

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

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

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

第三、补充301跳转,两种规则同时配置

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

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

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

以上是apache同时配置301和https跳转的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn