【问题标题】:How do I fix default CakePHP routing on a "baked" MVC?如何修复“烘焙”MVC 上的默认 CakePHP 路由?
【发布时间】:2009-09-21 21:07:58
【问题描述】:

我刚刚根据 CakePHP 的约定设置了一个数据库,为模型、控制器和视图运行“烘焙”脚本,并确保路径设置正确。

当我转到以下样式的网址时:

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>

其他一切都与默认创建的和烘焙脚本一样。谁能帮我指出正确的方向?

如果有什么我可以澄清或展示的例子,请告诉我。

【问题讨论】:

  • 您的文件夹结构是什么样的?您是否将 BASEURL 设置为指向 /www/ 或 /www/app/?当您导航到 BASEURL 时,样式表和图像会加载吗?
  • 我觉得你有点糊涂了。当您转到somesite.com/app/model/action 时,它会将请求传递给默认的 AppController。如果您使用somesite.com/MyApp/model/action,您将不会看到此错误。只是你选择了一个已有控制器的前缀。

标签: php mod-rewrite cakephp routing


【解决方案1】:

看起来这家伙也有类似的问题,解决办法是把基目录改成 app 以外的东西。

http://groups.google.com/group/cake-php/msg/5fba6c41a505ed48?pli=1

【讨论】:

    【解决方案2】:

    确保您的虚拟主机或 doc-root 指向应用文件夹,而不是其父文件夹。

    【讨论】:

      【解决方案3】:

      我刚刚遇到了同样的问题 danieltalsky ,我用这个回复来解决它:

      .......“我把整个 应用程序放入包含以下单词的目录:

      “应用”

      “蛋糕”

      如果您的目录的真实名称是“myapp”,请尝试将其更改为 “mysoftware”并重新加载,没有必要改变 .htaccess 文件。

      ......“

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

      幸运

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-24
        • 2017-02-17
        • 1970-01-01
        • 2020-08-25
        • 2014-04-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多