正在加载...

FeedBurner出问题之后,我当天就用“Permalink重定向插件”把Permalink重定向到了Feedsky,然而,今天猛然发现Feedsky几天没有更新我的RSS了。仔细一看,发现一个“死循环”问题:我的Feedsky请求RSS时,又被302重定向到了Feedsky自己,所以内容毫无改变……

于是,连同很久之前的一个疑惑,我打开了“Permalink重定向插件”的源文件。发现和我的推测还是一致的:该插件将选择性地进行302返回。即,所有FeedBurner的请求不做302重定向,而来自其他方式的请求,全部返回给302重定向。这样做的好处大家仔细想想,不言而喻。

今天在Magike的帮助下,改善了这个函数,让Feedsky也可以“兼容”了。只需要将“redirect_feedburner”函数改写为如下内容,就可以了:

function redirect_feedburner() 
{
    global $withcomments;
    if (is_feed() && !is_archive() && !$withcomments) {
        if (!(strpos($_SERVER['HTTP_USER_AGENT'],'FeedBurner')!==FALSE || 
strpos($_SERVER['HTTP_USER_AGENT'],'Feedsky')!==FALSE))
        {
        if (($feedburner = get_settings('permalink_redirect_feedburner')))
            {
                $brand = get_settings('permalink_redirect_feedburnerbrand');
                $brand = $brand ? $brand : 'feeds.feedburner.com';
                $this->redirect("http://$brand/$feedburner", 302);
            }
        }	
    }
}

结论:

  1. Permalink原函数的逻辑似乎很奇怪,而且有几个荒废函数没起到作用(例如is_feedburner,is_skip),争取联系一下作者(还是个华裔澳洲人)改善一下
  2. IE7和Firefox都会对301、302做Cache,这让我的调试非常不爽,好在Magike帮我写了一个CURL的请求方式,可以直接获得返回详细情况
  3. FeedSky在高频Ping下会停止Ping功能,不过大约5分钟后又恢复
  4. 当今环境下,除了你自己的域名以外,没有任何域名是靠谱的。
  5. 请WordPress博客们使用Permalink Redirect吧,是个好东西:)
  6. 从我这几天的访问数据来看,RSS这个东西的稳定性和时效性还是非常重要的,它将会直接影响订阅量、访问量,所以,必须派重兵照看:)
  7. 不同于301,302是临时重定向,这也从思想上和第4点吻合
还没找到您要的东西?Google试试看吧,
Google更注重原创、时效性好的文章:


本文相关评论: 才 6 条评论
  1. fisio 2007-09-06 02:55:01

    一语点醒梦中人啊!哎,我说怎么我的feedsky…

  2. 未知的味觉 2007-09-06 01:29:08

    技术问题!!!

  3. dustless 2007-09-26 02:50:58

    请问,你的标题前面的发文日期图标,好漂亮?是WP的插件吗?回答我一下。谢谢。

  4. Calvin 2007-11-28 07:51:13

    能否提供这个插件给我啊 期待佳音~~

  5. moongirl 2008-01-24 12:53:23

    好像没下载地址!!!!

[支持Ctrl+Enter]为了我们大家和家人的安全,留言请慎重!
声明:
1、本站仅与见过面的个人博客交换链接,见此文
2、留言时的头像是Gravatar提供的服务。如果您有兴趣并且有闲暇时间,可以看看这里的介绍