Q: 什么是301跳转?

301是HTTP的状态码的一种,表示本网页永久性转移到另一个地址。301跳转也叫做301重定向,指的是当用户点击一个网址时,通过技术手段,跳转到另一个跳转到另一个网址。

如果不做301跳转会怎样呢?结果如下图:

虽然 hexianghui.net 和 www.hexianghui.net 都是链接到博客首页,但是百度却认为这是两个网站,因为我个人比较喜欢不带 www,所以要让它从 www.hexianghui.net 跳转到 hexianghui.net。

一般在 Z-blog 程序后台设置好伪静态后,系统会在根目录下面生成一个 .htaccess 文件。

将 .htaccess 文件下载到本地,打开 .htaccess 文件(注意:不能用记事本打开,否则会出现问题,我用的是 Sublime):

我们只需要在 RewriteBase / (第3行)上面一行插入以下代码即可:

1
2
RewriteCond %{HTTP_HOST} ^要跳转的域名$ [NC]  
RewriteRule ^(.*)$ 定向到的域名/$1 [L,R=301]

将上面的网址替换成你的博客地址就可以了,例如:

1
2
RewriteCond %{HTTP_HOST} ^www.hexianghui.net$ [NC,OR]
RewriteRule ^(.*)$ http://www.hexianghui.net$1 [R=301,L]

修改后如下图:

然后将修改后的 .htaccess 文件上传至网站根目录即可,用站长工具检测截图:

工具地址:http://tool.chinaz.com/pagestatus/

还有一种方法就是使用 PHP 代码实现跳转:

1
2
3
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://你的网址/");
exit();

使用301跳转需要注意的地方:

  • 静态网页不可以做301转向。
  • 修改 .htaccess 文件的方法只适用于 PHP Linux系统的主机。

这是一篇过去很久的文章,其中的信息可能已经有所发展或是发生改变。