我正在将我的某个网站从蛋糕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中找不到任何关于它的内容:(
非常感谢!
答案 0 :(得分:1)
控制器中的操作不应命名为index.rss
。
你应该验证一些事情:
•控制器中是否调用了TextHelper
和RequestHandlerComponent
?
•您是否使用以下代码创建了索引操作?
if ($this->RequestHandler->isRss() ){
$posts = $this->YourModel->find('all', array('limit' => 20, 'order' => 'Post.created DESC'));
return $this->set(compact('posts'));
}
•确认您已在/View/Layouts/rss/
•对/View/YOUR_CONTROLLER/rss/index.ctp
另请参阅the Cake documentation中的手册条目。
如果这不能解决问题,则可能与使用mod_rewrite进行URL重写有关。对于未找到的网址,您是否还有其他任何问题?