我有一个问题,我觉得很奇怪,也许有人可以帮助我。
我使用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问题吗?但由于我可以按照应有的方式访问所有控制器,我无法想象......有人可能有想法吗?非常高兴,谢谢...
答案 0 :(得分:0)
它与cakephp / apache / mod_rewrite无关。问题是文件权限。出于某种原因,我从我的Windows文件系统(在同一台设备上)复制了除cake.generic.css(我下载的)以外的所有文件,出于某种原因,他们带着权限600。
现在chmodded到644,一切正常。所以,这可能会在未来的某个时候出现类似的问题......:)