默认路由(控制器/操作)和css / js的链接不起作用cakephp

时间:2014-07-02 14:37:35

标签: apache cakephp

在访问网址/var/www/html/teste后,将蛋糕2.5.2(在Linux上)解压缩到目录http://localhost/teste后,它正确加载控制器pages和操作{{1}的内容来自display

routes.php

但是当试图直接通过url访问控制器时:

Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home')); 我找不到404 Page的返回。

否则,不会加载webroot文件夹的文件http://localhost/teste/pages/display(未包含在生成的URL中)。

生成的Url返回未找到的文件:

css/js/img

正确访问文件的网址:

http://localhost/teste/css/cake.generic.css

我对css / js / img文件的解决方案如下,我更改了表单以调用该文件。

使用的标准格式:

http://localhost/teste/app/webroot/css/cake.generic.css

新表格:

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

简而言之,我认为错误可能实际上是在apache或其他什么,但不知道我该如何验证该部分。

我对css / js / img的解决方案是正确的吗?因为我认为这是作为例子我正确地下载了蛋糕的版本。

如果他们需要更多信息,请告诉我,谢谢。

1 个答案:

答案 0 :(得分:2)

这是禁用mod_rewrite的环境的症状。

如果您使用Ubuntu,只需输入:

sudo a2enmod rewrite

在/etc/apache2/apache2.conf中找到与此类似的块:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>

并替换

    AllowOverride None

使用

    AllowOverride All

最后,重启你的apache:

sudo service apache2 restart