Cakephp只为其他所有人加载一个.css文件 - 403-Error

时间:2013-08-31 13:29:48

标签: php css cakephp mod-rewrite

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

我使用cakephp。我的apache的web根文件夹是/ 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),数据库连接等工作。 一个但很大的问题是:没有加载.css-或.js文件,但cake.generic.css除外! 我加载css和js文件的.cpt-template部分看起来像:

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问题吗?但由于我可以按照应有的方式访问所有控制器,我无法想象......有人可能有想法吗?非常高兴,谢谢...

1 个答案:

答案 0 :(得分:0)

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

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

现在chmodded到644,一切正常。所以,这可能会在未来的某个时候出现类似的问题......:)