博客更换域名的方法[301永久重定向]
什么是301转向?
301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。其它常见的状态码还包括,200表示一切正常,404网页找不到,302暂时转向,等等。
对于搜索引擎优化(SEO)来说,给搜索引擎一个友好的信息,告诉它此页面已永久重定向,避免搜索引擎找不到页面。这对于网站的SEO是很重要的,因为301永久重定向对SEO无任何不好的影响!而且原域名的关键词排名和PR级别都会传达给新域名!
网站最好不要轻易更换域名,除非老域名对搜索引擎来说已经不友好,或者确实有一个非常非常优于现有域名的域名;一个网站就绑定一个域名,域名多了,可以停放,可以301。
下面两种方法是偶根据网上结合自身的情况总结的:
使用代码的方法:
php代码:
<? Header( "HTTP/1.1 301 Moved Permanently" ) ; Header( "Location: http://a18zhizao.com" ); //设置首页的转移地址 ?>
以下是代码片段(精确重定向):
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://a18zhizao.com/".$_SERVER"REQUEST_URI"]); //设置精确转移地址
?>
.net代码 以下是代码片段(精确重定向):
<%@ Page Language="C#" %>
<%
Response.Status = "HTTP/1.1 301 Moved Permanently";
Response.Headers.Add("Location", "http://www.baidu.com/".Request.ServerVariables("HTTP_X_REWRITE_URL")); //设置精确转移地址
%>
另外一种是利用.htaccess实现域名重定向到新域名,但是.htaccess只能在linux系统安装的apache服务器上才支持。创建一个.htaccess文件,并将下面提供的代码写入文件内,它可以确保旧域名所有的目录或者网页正确的跳转到新域名内。记住.htaccess文件一定要放在旧网站的根目录下,并且新网站要和旧网站保持相同的目录结构及网页文件
Options +FollowSymLinks RewriteEngine on RewriteRule ^(.*)$ http://www.a18zhizao.com/$1 [R=301,L] //设置精确转移地址
假如我的老域名是:www.old.com 新域名 www.new.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.old.com [NC]
RewriteRule ^(.*)$ http://www.new.com/$1 [L,R=301]
上面的都完成了。你还需要修改数据库
UPDATE wp_options SET option_value = replace( option_value, "http://test.a18zhizao.cn", "http://a18zhizao.com" ) WHERE option_name = "home" OR option_name = "siteurl"; UPDATE wp_posts SET post_content = replace( post_content, "http://test.a18zhizao.cn", "http://a18zhizao.com" ) ; UPDATE wp_posts SET guid = replace( guid, "http://test.a18zhizao.cn", "http://a18zhizao.com" ) ;
当然你也可以修改wp-config.php
定义新域名
define('WP_SITEURL', 'http://a18zhizao.com');
define('WP_HOME', 'http://a18zhizao.com');
不过我觉得没有SQL那种好,因为SQL还修改了文章内容里面的网址。
可以用这个免费工具检查一下转向的效果:
http://www.internetofficer.com/seo-tool/redirect-check/
对此文章已经进行了补充:这里是地址
这个显示源代码,博主用的是什么插件?
@清风无影
SyntaxHighlighter Evolved