提问者:小点点

Cakephp 2.2没有mod_重写重定向错误


我做了所有的设置,不使用mod_rewriteApache 2.2和CakePHP。

Apache2已经启动并运行,蛋糕似乎也在运行。如果我去http://127.0.0.1/cake/index.php,所有的绿色标签(使用PostgreSQL 9.1)。我按照教程创建博客项目,并在/var/www/蛋糕/app/Controller/PostsController.php创建了控制器文件(也有CakeControllerAppControllerPagesController文件)。

在模型目录中,我得到了一个帖子。如教程所述,php和AppModel。在View文件夹中,我创建了Posts文件夹和文件索引。ctp和视图。ctp。

当我键入像http://127.0.0.1/cake/index.php?url=/posts/它将进入索引。蛋糕主文件夹的php。它重定向到那里!如果我将URL更改为http://127.0.0.1/cake/index.php?url=/posts/view/1(就像教程一样)同样的事情。这张照片出了什么问题?

我的环境是Debian 6.0-6 64位。Apache2。2(与SO一起安装),CakePHP 2.2。3和PHP5.2。8(或更高)。


共1个答案

匿名用户

您确定已启用“修改重写”并正在重写吗?你能把你的文章的内容贴出来吗。htaccess文件-顶层目录(即htdocs)中的文件和app/webrootdir中的文件?您的顶级目录中包含applib。我怀疑你的重写规则在这两方面都是错误的。无论如何,如果您没有更改这些文件,它肯定是错误的。:)你不应该改变中间的。htaccess文件-应用程序中的文件。

这一点在这里已经得到了回答,而CakeBook在这里对此进行了解释。但我个人使用的设置有点不同:

/var/www/test.cake.lan/htdocs/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^$ /app/webroot/ [L]
    RewriteRule (.*) /app/webroot/$1 [L]
</IfModule>

/var/www/test。糕饼lan/htdocs/app/。htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>

/var/www/test.cake.lan/htdocs/app/webroot/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /app/webroot/index.php?url=$1 [QSA,L]
</IfModule>