Cakephp - 不加载css和js

时间:2013-06-14 15:27:25

标签: cakephp assets

我是一名铁路开发人员在cakephp项目上做了一些拼凑。

我从存储库中取出并尝试启动并运行本地版本的项目。

目前,该应用程序正在尝试从“localhost / static / css”

加载资源

css实际上位于localhost / app-name / app / webroot / static / css。

我已经重命名了所有htaccess文件(app-name / .htaccess,app / .htaccess,app / webroot / .htaccess)并对其进行了评论,但该应用仍然在'localhost / static查找我的资产/'.

我错过了什么?

由于

3 个答案:

答案 0 :(得分:2)

您需要.htaccess个文件!

您是否安装并启用了mod_rewrite?

您是否已在您webroot中为您的应用程序apache config?设置了allow_override(因此apache将读取CakePHP .htaccess文件)

你清除缓存了吗? (删除所有文件,但将目录保留在app/tmp中 - 并确保网络服务器app/tmpreadable/writable

您是否缺少符号链接?我将我的资产存储在webroot之外,并象征性地将目录(css,js,img等)链接到/app/webroot

答案 1 :(得分:2)

请勿删除 .htaccess 文件。在我的情况下,我遇到了同样的问题,现在它工作正常。

诀窍很简单,只需到 Apache目录,然后打开httpd.conf并搜索rewrite_module并从该行删除注释(#),即 #LoadModule rewrite_module modules / mod_rewrite.so 将是 LoadModule rewrite_module modules / mod_rewrite.so

答案 2 :(得分:1)

首先,您不必删除.htaccess并确保在您的localhost中启用了mod_rewrite。
第二个在cakephp中有一个叫做Html的好帮手 如果你想加载一个js,请在你的视图中尝试:

echo $this->Html->script('your_js.js');

这个js必须进入你的app / webroot / js

而不是css尝试使用:

echo $this->Html->css('your_css.css');

Css必须位于此文件夹中:app / webroot / css

cakephp已经有了它的路径,但你必须遵守惯例