一般我会较多的使用wordpress等程序,其在安装的时候我们如果直接用www打开,或者在后台设置www域名则默认会强制301指向www站点域名。 ( 推荐学习:apache入门 )
而这里有使用zblog(php新版的也是支持的,后台设置固定链接即可)或者typecho等其他博客程序则不会默认301跳转。理论上从用户体验,还是从搜索引擎,最好是统一要么www,要么不带www格式的网址。
所以,我准备在apache中用301跳转强制www格式,这里我是用的apache虚拟主机环境所以直接在根目录的.htaccess文件设置就可以。
第一、强制www跳转
rewriteengine onrewritecond %{http_host} ^cainiaoqidian\.com [nc]rewriterule ^(.*)$ http://www.cainiaoqidian.com/$1 [l,r=301,nc]
添加到伪静态文件中,立即生效。
第二、强制https格式
因为https加密格式网址也在陆续的流行和必须,所以我也在考虑和调整添加https格式的网址,毕竟免费ssl证书也比较多,添加也不复杂,刚才测试后还是可以的,唯独也需要将https强制跳转,因为http和https也最好唯一。
rewriteengine onrewritecond %{server_port} 80rewriterule ^(.*)$ https://www.cainiaoqidian.com/$1 [r,l]
同样的,可以在.htaccess文件中添加强制https跳转。
第三、补充301跳转,两种规则同时配置
rewriteengine onrewritecond %{http_host} !^cainiaoqidian.com$ [nc]rewriterule ^(.*)$ https://cainiaoqidian.com/$1 [l,r=301]rewritecond %{server_port} 80rewriterule ^(.*)$ https://cainiaoqidian.com/$1 [l,r=301]
如果我们有朋友喜欢用不带www的格式,所以我们也可以强制不带www跳转和https强制不带www。
rewriteengine onrewritecond %{http_host} ^cainiaoqidian\.com [nc]rewriterule ^(.*)$ http://cainiaoqidian.com/$1 [l,r=301,nc]
以上就是apache同时配置301和https跳转的详细内容。