0

我是一名 Rails 开发人员,正在对 cakephp 项目进行一些拼凑。

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

现在,应用程序正在尝试从 'localhost/static/css' 加载资产

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

我已重命名所有 htaccess 文件(app-name/.htaccess、app/.htaccess、app/webroot/.htaccess)并将它们注释掉,但该应用仍在“localhost/static/”中查找我的资产。

我错过了什么?

谢谢

4

3 回答 3

2

不要删除.htaccess文件。就像我的情况一样,我遇到了同样的问题,现在它工作正常。

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

于 2014-01-09T05:57:04.997 回答
2

你需要这些.htaccess文件!

您是否安装并启用了 mod_rewrite?

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

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

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

于 2013-06-14T15:33:18.897 回答
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 已经有了它的路径,但你必须遵守约定

于 2013-06-14T15:34:28.503 回答