我一直在尝试学习CakePHP但是我遇到了一个问题,当我尝试访问除root之外的任何路由时,我得到500错误。我在我的测试应用程序中设置了以下内容。
1)我将http://cake.localhost.com/
的文档根目录设为/app/webroot/
2)在/app/Config/routes.php
文件中,我设置了以下路由:
Router::connect('/', array('controller' => 'posts', 'action' => 'index', 'index'));
Router::connect('/posts/*', array('controller' => 'posts', 'action' => 'view'));
Router::connect('/users/*', array('controller' => 'users', 'action' => 'view'));
3)我使用cake bake
来创建系统,并使用脚手架。
4)当我转到http://cake.localhost.com/posts/view/1
时,它会HTTP Status Code 500
如果您需要更多信息,请告诉我们我很乐意帮忙!感谢您提前获取任何信息!
答案 0 :(得分:1)
这是与整个框架的核心功能相关的合法问题。
1。)正确。
2.。)以您指定的方式配置路由将导致将所有请求重定向到指定控制器的视图操作。这可能不是你想到的。
Cake的默认路由将尝试根据命名约定进行路由。有关路由示例及其行为的解释,请参阅CakePHP broken index method。
3。)脚手架可能不是你想到的。脚手架基本上只标记脚手架控制器使用Core控制器生成默认值,并跳过实际编写生成的代码。您也可以生成默认值;它会让你了解基本的CRUD,蛋糕风格。
我克隆了您的应用,应用了这些步骤,一切都按预期工作。 :) HTH