关于301重定向的百科:
页面永久性移走(301重定向)是一种非常重要的“自动转向”技术。网址重定向最为可行的一种办法。当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。
在我们网站建设中,时常会遇到需要网页重定向的情况:像网站调整,改变了网站的目录结构,网页被移到一个新地址。或者网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这些情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404页面错误信息,访问流量白白丧失。又比如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等等。
301重定向的必要性
1.对于旧域名和新域名而言,使用301重定向可以让旧外链不失效,最大限度的减少网站流量损失。
2.对于SEO,搜索引擎蜘蛛也会抓取新域名的信息。根据卢松松博客的介绍,百度在处理301重定向网站时,会首先给予跳转到的页面一个更高的权重,此时旧页面并不会被删除。但是随着时间推移,旧页面会因为质量下降而最终被清除出搜索引擎的数据库。也就是说一定时间之后,搜索引擎上将只剩下新域名的页面。
3.关于顶级域名和二级域名。大多数人不知道 www.baidu.com 其实是二级域名,baidu.com 才是顶级域名。对于搜索引擎而言,这是两个网站。所以这样会导致权重的分流,对SEO非常不利。而用户访问 baidu.com 与访问 www.baidu.com 也是不同的,在站点统计数据上也不好管理和查看。
Apache在linux系统上开启301重定向的方法:
1.我们需要到Apache设置文件开启Mode Rewrite。默认设置文件路径在 /etc/httpd/conf/httpd.conf 。我们打开它。找到如下内容
1 | <Directory "/web"> |
在 AllowOverride None 这一行,将其改为 AllowOverride All 即可。然后保存文件,上传至服务器。
之后我们需要写一个 .htaccess 文件来设定重定向规则。首先在网站根目录下创建这个文件。然后我们写入如下内容
1 | RewriteEngine On |
以上规则可以重定向 baidu.com 和m.baidu.com至 www.baidu.com
具体的语法可以自己查一下,这里不再赘述。这个规则不只能做301重定向,还可以做到很多强大的功能,想要深层次装逼的童鞋可以去谷歌一下→_→
之后使用如下命令来重启Apacheservice httpd restart
参考自: Linux系统下301重定向的使用方法