首页 > 编程 > 博客更换域名的方法[301永久重定向]

博客更换域名的方法[301永久重定向]

2010年1月18日 发表评论 阅读评论

  什么是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/

对此文章已经进行了补充:这里是地址

分类: 编程 标签: ,
  1. 2010年1月23日13:04 | #1

    这个显示源代码,博主用的是什么插件?

  2. 2010年1月23日20:06 | #2

    @清风无影
    SyntaxHighlighter Evolved

  1. 2010年3月2日11:40 | #1

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。直接点击评论上方的回复实现此功能