【问题标题】:Apache and Cakephp applicationApache 和 Cakephp 应用程序
【发布时间】:2010-12-18 01:07:58
【问题描述】:

我遇到了在 CentO 上运行 cakephp 应用程序的问题。我没有更改默认配置中的任何设置,只是在 conf.d 下添加了一个文件,其内容为:

NameVirtualHost *:80
<VirtualHost *:80>
  DocumentRoot /var/www/portal/
  ServerName abc.mydomain.com
</VirtualHost>

访问时,主页正常工作,即 app.mydomain.com 显示,但没有加载默认结构下的 CSS、JS 和 img 文件 即 /var/www/portal/app/webroot/img /var/www/portal/app/webroot/css /var/www/portal/app/webroot/js

所以我尝试将它们移动到/var/www/portal/ 的正下方,这适用于主页,但单击主页上的任何链接只会出现 404。例如如果链接是 abc.mydomain.com/test 在 apache 日志中,我看到错误为 'File Does not exist : /var/www/portal/test' 。看来apache没有向cakephp发送请求来处理url。

这里可能有什么问题?最有可能与 apache 安全设置有关,但不知道该去哪里。

【问题讨论】:

  • 第一步是查看加载资源的 URL。它们长什么样子?
  • 佩卡,谢谢。请在这里提供更多帮助。我该怎么做?

标签: apache cakephp rewrite


【解决方案1】:

Is your AllowOverride set to all? 只有这样 .htaccess 文件中的 CakePHP 重写指令才能开始工作。或者,您可以将它们移动到虚拟主机配置并让它们工作。

【讨论】:

  • 你知道我之前确实尝试过,但没有成功,但我确信我做错了什么。
  • 这是正确的解决方案。 AllowOverride All 解决了这个问题。谢谢你奈杰尔。
【解决方案2】:

好的,这是一个常见的错误。您应该启用“重写”-> 模块重写。 (这当然是一个 php 模块)。在 ubuntu 中,您通常键入 sudo a2enmod rewrite。检查 CentOS 命令。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-12
    • 2014-11-04
    • 1970-01-01
    • 2012-03-22
    • 2013-08-07
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多