.htaccess实现301域名重定向
10-01-11最近发现博客的两个域名PR值有点混乱,博客绑定了两个米,之前其中一个以php代码301到一个主显www.5jun.com域名上,实现了重定向的效果,但是比较麻烦的是当我将wordpress进行自动升级的时候,原存放301代码的文件有可能被覆盖,需要修改添加,甚至有时忘记这件事,时间长的话对搜索引擎不太友好。
用php代码来实现301重定向也是因为之前用的空间是asp的,所谓的全能空间,所以没有采用.htaccess的方式。虽然换用apche空间有段时间了,但是一直没有修改,代码被覆盖也没发现。今天想起来就修改用.htaccess来实现了。
首先你的主机需要要支持.htaccess,以我的博客为例,我的主机是apache server,博客程序是wordpress,博客程序放在根目录,原本根目录无.htaccess文件,可以自己创建,先在本地电脑上新建TXT文档,输入内容,命名为htaccess.txt,FTP上传至根目录后,重命名htaccess.txt为.htaccess即可。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^***.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.***.com [NC,OR]
RewriteCond %{HTTP_HOST} ^5jun.com [NC]
RewriteRule ^(.*)$ http://www.5jun.com/$1 [L,R=301]
其中***.com和www.***.com为需要301转向的域名,http://www.5jun.com修改为你的目标主显域名,如果有更多域名301转向,复制第3、4行添加就OK.
顺便记录下.htaccess做404页面代码:
RewriteEngine On
ErrorDocument 404 /404.html
# 404页面路径自行修改
之前用的301转向php代码:(如果是wordpress程序,可以放在根目录wp-blog-header.php文件中。)
//301转向
if (strtolower($_SERVER['SERVER_NAME'])!='www.5jun.com')
{
$URIRedirect=$_SERVER['REQUEST_URI'];
if(strtolower($URIRedirect)=="/index.php")
{
$URIRedirect="/";
}
header('HTTP/1.1 301 Moved Permanently');
header('Location:http://www.5jun.com'.$URIRedirect);
exit();
}
PS:.htaccess 是Apache HTTP Server的文件目录系统级别的配置文件的默认的名字。它提供了在主配置文件中定义用户自定义指令的支持。


兄弟,你真是我的救世主。我现在急需恶补这个301的知识。
2010年01月15日于15:24 []再访老友!
2010年01月21日于20:32 []可好?
祝福快乐!
很好,谢谢!你的评论总是被Akismet过滤为spam,不解~
2010年01月25日于13:43 []这个功能不太明白,我的站也想弄的
2010年02月4日于00:29 []