让cakephp站点在localhost上运行

时间:2014-02-03 15:07:02

标签: .htaccess cakephp mod-rewrite

我将一个cakephp网站下载到我的计算机上进行本地开发。我做了以下事情:

-httpd.conf中的启用Mod重写 - 在每个app目录中都有htaccess文件,包括RewriteBase到包含app的目录 -Copied mySQL数据库并在database.php中输入正确的信息 -Restarted Apache

目前,该网站无法找到样式表和图片,并且链接不起作用,因为服务器没有将漂亮的网址翻译成资源。

错误日志有大量错误,如下所示:

Request URL: /css/normalize.css
Stack Trace:
#0 /home/content/73/11884573/html/tasklion/app/webroot/index.php(111): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#1 {main}
2014-02-03 15:23:25 Error: [MissingControllerException] Controller class ImagesController could not be found.
Exception Attributes: array (
  'class' => 'ImagesController',
  'plugin' => NULL,
)

该网站位于localhost / ~daniel / tasklion / app /...

所有控制器文件都在正确的位置,就像在线网站一样。

img和css文件夹位于webroot中。 我用来访问该网站的URL是:

http://localhost/~daniel/tasklion/

在webroot的htaccess中我有:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /~daniel/tasklion/app/webroot/
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

我错过了什么?感谢。

1 个答案:

答案 0 :(得分:0)

检查这两件事

  1. 打开此文件 /etc/httpds/conf/httpd.conf 搜索mod_rewrite.so 检查是否 LoadModule rewrite_module_modules modules / mod_rewrite.so被评论。 如果评论已被评论,请删除评论。

  2. 在同一档案中 /etc/httpds/conf/httpd.conf

  3. 搜索'Options Indexed FollowSymLinks'并将'AllowOverride None'更改为'AllowOverride All'

    < Directory />
        Options Indexed FollowSymLinks
        AllowOverride All
    < /Directory>
    

    重启apache。