【发布时间】:2013-08-31 13:29:48
【问题描述】:
我有一个我觉得很奇怪的问题,也许有人可以帮助我。
我使用 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 问题吗?但是由于我可以按应有的方式访问所有控制器,所以我无法想象……有人可能有想法吗?会很高兴,谢谢...
【问题讨论】:
-
403是Forbidden。可能是许多问题中的任何一个,但您似乎正在使用 Apache,解决此问题的第一步是查看日志。$ tail /var/log/apache2/error.log或类似的东西。 -
error.log 为我提出的每个请求显示这些:
[Sat Aug 31 15:14:46 2013] [error] [client 127.0.0.1] (13)Permission denied: file permissions deny server access: /home/jw/www/hc2/app/webroot/css/bootstrap.min.css, referer: http://localhost/hc2/Projects/ [Sat Aug 31 15:14:46 2013] [error] [client 127.0.0.1] (13)Permission denied: file permissions deny server access: /home/jw/www/hc2/app/webroot/css/layout.css, referer: http://localhost/hc2/Projects/等,用于除 cake.generic.css 之外的所有 .css- 和 .js-链接
标签: php css cakephp mod-rewrite