0

我有一个我觉得很奇怪的问题,也许有人可以帮助我。

我使用cakephp。我的 apache 网络根文件夹是 /home/jw/www。我的项目在 /home/jw/www/hc2 下,所以整个文件夹结构(仅对这个问题很重要的部分)是:

www
 /hc2
  /app
   /webroot
    index.php
    /css
     /cake.generic.css
     /any.css
     /other.css
     /stylesheets.css
    /js
     /any.js
     /javascript.js
     /files.js

好吧,cakephp 到目前为止工作正常 - 路由(启用 mod_rewrite)、数据库连接等工作。一个巨大的问题是:除了 cake.generic.css 之外,没有加载任何 .css 或 .js 文件!我加载 css 和 js 文件的 .cpt 模板部分看起来像:

echo $this->Html->css('cake.generic');
echo $this->Html->css('bootstrap.min');
echo $this->Html->css('layout');

echo $this->Html->script('bootstrap.min');
echo $this->Html->script('jquery-2.0.3.min');

在加载页面的 html- 中,这变为例如:

<link href="/hc2/css/cake.generic.css" type="text/css" rel="stylesheet">
<link href="/hc2/css/bootstrap.min.css" type="text/css" rel="stylesheet">

但是当我用 firebug 检查这两个时,我看到其中第一个加载正确——我可以看到文件的 css 定义——而另一个收到错误 403!

这可能是一个 mod_rewrite 问题吗?但是由于我可以按应有的方式访问所有控制器,所以我无法想象……有人可能有想法吗?会很开心,谢谢...

4

1 回答 1

0

抱歉,我自己解决了 - 感谢@mvanderw 的帮助。

它与 cakephp/apache/mod_rewrite 无关。问题是文件权限。出于某种原因,我从我的 Windows 文件系统(在同一设备上)复制了除了 cake.generic.css(我下载的)之外的所有文件,并且出于某种原因,它们的权限为 600。

chmodded 到 644 现在一切正常。所以也许这可以帮助将来某个时候遇到类似问题的人...... :)

于 2013-08-31T14:07:06.233 回答