我是一名铁路开发人员在cakephp项目上做了一些拼凑。
我从存储库中取出并尝试启动并运行本地版本的项目。
目前,该应用程序正在尝试从“localhost / static / css”
加载资源css实际上位于localhost / app-name / app / webroot / static / css。
我已经重命名了所有htaccess文件(app-name / .htaccess,app / .htaccess,app / webroot / .htaccess)并对其进行了评论,但该应用仍然在'localhost / static查找我的资产/'.
我错过了什么?
由于
答案 0 :(得分:2)
您需要.htaccess
个文件!
您是否安装并启用了mod_rewrite?
您是否已在您webroot
中为您的应用程序apache config?
设置了allow_override(因此apache将读取CakePHP .htaccess
文件)
你清除缓存了吗? (删除所有文件,但将目录保留在app/tmp
中 - 并确保网络服务器app/tmp
为readable/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已经有了它的路径,但你必须遵守惯例