2009-09-21 61 views
0

我只是按照CakePHP的惯例设置了一个数据库,运行了模型,控制器和视图的“烘焙”脚本,并确保路径设置正确。如何修复“烘焙”MVC上的默认CakePHP路由?

当我去到URL的以下样式:

http://BASEURL/app/controller_name 

我得到该控制器的预期列表视图,但都被烤页面生成的链接的格式为我期望看到:

http://BASEURL/controller_name 

,给了我一个404有趣的是,这样的:

http://BASEURL/app/ 

给我:

Missing Method in AppController 
Error: The action index is not defined in controller AppController 
Error: Create AppController::index() in file: app/controllers/app_controller.php. 

但这:

http://BASEURL/

给我的默认索引页。

这里是我的.htaccess:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ webroot/ [L] 
    RewriteRule (.*) webroot/$1 [L] 
</IfModule> 

其他一切仅仅是因为默认情况下和烘烤脚本创建。任何人都可以帮助我指出正确的方向吗?

请让我知道是否有任何我可以澄清或显示的例子。

+0

什么是您的文件夹结构是什么样子?你有BASEURL设置指向/ www /或/ www/app /?当您导航到http:// BASEURL /样式表和图像加载? – 2009-09-21 22:00:46

+0

我觉得你有点困惑。当你转到http://somesite.com/app/model/action时,它会将请求传递给默认的AppController。如果您使用http://somesite.com/MyApp/model/action,则不会看到此错误。只是你选择了一个具有现有控制器的前缀。 – 2009-09-21 22:12:02

回答

2

确保您的虚拟主机或文档根指向应用程序文件夹,而不是其父项。

+0

非常非常感谢。 – danieltalsky 2009-09-21 22:12:26

+0

你会告诉我如何检查..我面临同样的问题.. – 2012-05-07 05:59:06

0

我刚刚有danieltalsky同样的问题,我用这个响应修复:

...............“我VE得到了同样的问题,当我把整个 应用到包含单词的目录:

“应用程序”

“蛋糕”

如果目录的真名是“MYAPP”尝试改变它 “mysoftware”,并再次重装,没有必要改变 .htaccess文件。

...............“

它从https://groups.google.com/forum/#!msg/cake-php/AqLkqcztdHE/SO0FpUFsul8J

幸运