WordPress 自定义RSS输出若干方法 -part2 -输出FEED到独立域名

偶昨天那篇WordPress 自定义RSS输出若干方法的继续. 原来那篇博文写得仓促,一些没有讲清楚. 现在从头说起,简单的说,就是自定义独立博客的RSS输出路径到独立域名. 假设你在http://example.com 安装了一个WordPress博客,那么WP默认的RSS FEED输出路径是http://example.com/feed 事实上,WP通过mod_rewrite 把 http://example.com/feed 内部重定向到 http://example.com/wp-feed.php .而这个文件才是最终输出FEED的. 我们要做的是,把这个输出路径改为http://feed.example.com 为什么要改? http://feed.example.com 和http://example.com/feed有什么区别? 这个问题问得相当好,事实上,区别并不大,除了对SEO可能有少许影响外,这样做并没有多大意思.-不过,至少,在你博客访客看来,这个独立二级域名的RSS地址更加”专业“,这就够了! 怎么改?首先你必须确保拥有example.com这个域名完全权限 然后,最简单,也是最常用的方法是到Feedsky免费注册个帐号,Feedsky是一个Feed托管网站,免费提供域名绑定功能,你只需要在example.com域名里,添加一条”feed” 的A记录到feedsky指定的IP,然后在Feedsky后台把feed.example.com域名和你的原始RSS地址(http://example.com/feed ) 绑定就可以了 (详细过程参考这里 这样做好处是不占用你自己虚拟主机/服务器资源,还能享受免费的统计功能. 还有一种,就是用自己的空间,通过feed.example.com域名,自己输出RSS.这样可以有最大程度的自主权 但是,直接绑定feed.example.com域名到 example.com域名下的feed目录是不行的.因为http://example.com/feed这个地址中的 feed并不是真实目录,而只是mod_rewrite后的地址! 所以,你必须重新在虚拟主机里添加一个二级域名 feed.example.com ,绑定的目录随意,然后,有两种方法: A: 直接重定向. 建立一个 index.php在 feed.example.com目录下,内容为: 这样做最方便,而且大部分RSS阅读器都支持.但是,这样访问feed.example.com 输出的头信息是302 Redirect,(如下图)严重不利于SEO.而且也不便于RSS管理.. B 这是推荐方法.同样建立index.php文件,内容为 OK.现在试试看,完全符合我们要求,不仅直接输出FEED内容,最重要的,没有了 302 Redrect 也就是说,它看上去和原始RSS输出毫无区别.: 事实上,Feedsky应该也是用这个原理的(不过feedsky应该没有真正绑定feed.example.com域名,而只是泛域名解析) 这样,每次访客访问feed.example.com读取RSS时,都会被上面的index.php文件处理,并输出真正RSS FEED 到客户端,整个过程对客户端完全透明!你完全可以在这个index.php里加入其它代码实现任何统计功能,甚至做一个小型的Feed烧制系统-就像Feedsky那样! (我想,应该有人已经做了这种程序吧) PS:readfile()需要打开 allow_url_open .如果你使用dreamhost虚拟主机,参考这里 B […]

Continue reading