1

我一直在尝试学习 CakePHP,但是我遇到了一个问题,当我尝试访问除根目录以外的任何路由时,我会收到 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

如果您需要更多信息,请告诉我,我将很乐意为您服务!感谢您提前提供任何信息!

4

1 回答 1

1

这是一个与整个框架的核心功能相关的合理问题。

1.) 正确。

2.) 以您指示的方式配置路由将导致将所有请求重定向到指定控制器的视图操作。这可能不是你的想法。

Cake 的默认路由将尝试根据命名约定进行路由。有关路由示例及其行为的解释,请参阅CakePHP 损坏的索引方法。

3.) 脚手架可能不是你的想法。脚手架基本上只是将脚手架控制器标记为使用核心控制器生成默认值,并跳过实际编写生成的代码。您不妨生成默认值;它将让您了解基本的 CRUD、Cake 风格。

我克隆了您的应用程序,应用了这些步骤,一切都按预期工作。:) HTH

于 2013-04-11T04:01:57.987 回答