五 242009
博客搬家之后不可避免会产生一大堆404错误,绝大部分原链接都失效了,不过好在动态网站系统的网址都是有规律的,因此把原来的网址重新定向也很容易,这里简单记录从Bo-Blog搬家到Wordpress的一些301重定向工作。PHP代码写得非常拙劣,各位看官见笑了,写出来为了将来要用到PHP的时候能找找自己以前写的例子。
1、RSS Feed:
1、RSS Feed:feed.php
对现代网民来说,RSS阅读器已经是看网页的必备工具,因此RSS种子的地址几乎是众多网址中最重要的一个。
插播不重要的通知:
1、本站的RSS地址已经更改为:http://yihui.name/cn/feed/,评论RSS为:http://yihui.name/cn/comments/feed/,请Google Reader中的读者即时更换。英文博客也类似,把cn改成en就可以了。
2、如果你懒得换也行,反正我已经重定向了。 
Bo-Blog的feed.php文件在不带参数的时候是博客正文的RSS,带参数go的时候可能是评论,也可能是分类目录的RSS,因此需要在WP根目录下建一个feed.php文件,里面对参数作简单的判断,把原来的RSS重定向到WP的RSS中。以下代码只是本博客的转向,具体怎么写要根据具体搬家结果分析。
go参数中提取分类数字,传给WP的cat参数。
<?php
header("HTTP/1.1 301 Moved Permanently");
if(!isset($_REQUEST["go"])){
header("Location: http://$_SERVER[HTTP_HOST]/cn/?feed=rss2");
} else {
$tmp = $_REQUEST["go"];
if ($tmp == 'comment') {
header("Location: http://$_SERVER[HTTP_HOST]/cn/?feed=comments-rss2");
} else if (stripos($tmp, '_')) {
$tmp = end(explode('_', $tmp));
if ($tmp == '2') {
header("Location: http://$_SERVER[HTTP_HOST]/cn/?feed=rss2");
} else {
header("Location: http://$_SERVER[HTTP_HOST]/cn/?feed=rss2&cat=".$tmp);
}
}
}
?>
最近评论