0

使用 CakePHP 1.3,我有以下布局:

/srv/www/_cakephp13/
    /app/
    /cake/
    /plugins/
    /vendors/
    etc...

/srv/www/htdocs/  
    /cake_app/
    /other-dir/

...htdocs公共目录在哪里,我已经将webroot我的应用程序移到cake_app上面...这似乎几乎可以工作了。(自定义 webroot 的 index.php 后)。

当我访问http://devserver/cake_app/时,我可以看到默认的“主页”页面控制器/视图(我已经自定义,所以似乎正在工作)。

但是当我访问时,http://devserver/cake_app/controller/view我收到404错误。

是否可以在站点根目录的子目录中运行 Cake App?我怎样才能得到这个工作?

理想情况下,我不想编辑 Apache conf 的……如果我能用 Cake 配置或 htaccess 文件解决这个问题,我会更开心。

4

2 回答 2

2

您应该验证 .htaccess 正在运行,并且重写模块已打开且正在工作。

于 2010-05-24T16:42:39.183 回答
1

您需要在 Apache 上启用 mod_rewrite。要检查它是否打开,请创建一个仅执行此操作的页面:

echo phpinfo():

对文本“加载的模块”进行 Grep。确保那里列出了 mod_rewrite。如果不是,您可以将其添加到 apache 的配置中,或者您可能需要安装它(取决于您的原始安装方法以及您是否包含该模块)。

如果你不能让 mod_rewrite 运行,你仍然可以在没有它的情况下使用 cake(URL 看起来就像 index.php/controller/action/etc)。查看http://book.cakephp.org/view/333/A-Note-on-mod_rewrite了解更多信息。具体来说,

如果您不想或无法在服务器上启动并运行 mod_rewrite(或其他兼容模块),则需要使用 Cake 内置的漂亮 URL。在 /app/config/core.php 中,取消注释如下所示的行:

配置::write('App.baseUrl', env('SCRIPT_NAME'));

于 2010-05-24T16:35:03.577 回答