Q: 什么是301 重定向跳转?
A:301 是 HTTP 的状态码的一种,表示本网页永久性转移到另一个地址。301 跳转也叫做 301 重定向,指的是当用户点击一个网址时,通过技术手段,跳转到另一个跳转到另一个网址。
如果站点不做 301 跳转会怎样呢?结果如下图:
虽然 hexianghui.net 和 www.hexianghui.net 都是链接到博客的首页,但是百度却认为这是两个网站,这样就容易造成权重分散。我个人也比较喜欢不带 www,所以要让它从 www.hexianghui.net 跳转到 hexianghui.net。下面我们说说如何实现这个 301 跳转:
方法一:使用 .htaccess 文件实现 301 跳转
一般在 Z-blog 程序后台设置好伪静态后,系统会在根目录下面生成一个 .htaccess 文件。我们要把 .htaccess 文件下载到本地,打开 .htaccess 文件(注意:不能用记事本打开,否则会出现问题,我用的是 Sublime):
我们只需要在 RewriteBase / (第 3 行)上面一行插入以下代码即可:
- RewriteCond %{HTTP_HOST} ^要跳转的域名$ [NC]
- RewriteRule ^(.*)$ 定向到的域名/$1 [L,R=301]
将上面的网址替换成你的博客地址就可以了,例如:
- RewriteCond %{HTTP_HOST} ^www.hexianghui.net$ [NC,OR]
- RewriteRule ^(.*)$ http://hexianghui.net/$1 [R=301,L]
添加好代码后,如下图:
最后,记得要将修改好的 .htaccess 文件上传至网站根目录覆盖更新即可。我们可以用站长工具来检测看看是否已经成功实现 301 跳转,具体如下图所示:
方法二:使用 PHP 代码实现 301 跳转
这个方法其实很简单,只要在 PHP 页面的头部输入下面的代码就可以。
- header(“HTTP/1.1 301 Moved Permanently”);
- header(“Location: http://你的网址/”);
- exit();
使用 301 跳转需要注意的地方:
- 静态网页不可以做 301 转向。
- 修改.htaccess 文件的方法只适用于 php Linux 系统的主机。