CakePHP 2.0 RSS错误(不解析扩展名)

时间:2011-09-16 08:56:31

标签: rss migration cakephp-2.0

我正在将我的某个网站从蛋糕1.3迁移到2.0 rc1,我的RSS订阅源出现问题。

当我用mydomain.com/mycontroller/index.rss之类的东西调用我的Feed时出现错误:

错误:操作index.rss未在控制器MycontrollerController中定义

错误:在文件中创建MycontrollerController :: index.rss():app / Controller / MycontrollerController.php。

<?php
class MycontrollerController extends AppController {
    function index.rss {

    }
}
...
?>

我没有改变任何东西,因为1.3(和rss正在工作),我在routes.php中有parseExtensions:

Router::parseExtensions('rss', 'xml');

我在doc和google中找不到任何关于它的内容:(

非常感谢!

1 个答案:

答案 0 :(得分:1)

控制器中的操作不应命名为index.rss

你应该验证一些事情:

•控制器中是否调用了TextHelperRequestHandlerComponent? •您是否使用以下代码创建了索引操作?

if ($this->RequestHandler->isRss() ){
    $posts = $this->YourModel->find('all', array('limit' => 20, 'order' => 'Post.created DESC'));
    return $this->set(compact('posts'));
}

•确认您已在/View/Layouts/rss/

中创建了default.ctp

•对/View/YOUR_CONTROLLER/rss/index.ctp

中的RSS视图执行相同操作

另请参阅the Cake documentation中的手册条目。

如果这不能解决问题,则可能与使用mod_rewrite进行URL重写有关。对于未找到的网址,您是否还有其他任何问题?