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

Cakephp 2.2没有mod_重写重定向错误,cakephp,mod-rewrite,cakephp-2.2,Cakephp,Mod Rewrite,Cakephp 2.2,我做了所有设置,不使用mod_重写Apache2.2和CakePHP Apache2正在运行,Cake似乎也在运行。如果我去http://127.0.0.1/cake/index.php,所有绿色标签(使用PostgreSQL 9.1)。我按照教程在/var/www/cake/app/controller/PostsController.php上创建了控制器文件(还有CakeController和AppController和PagesController文件) 正如教程所说,在modeldir中

我做了所有设置,不使用mod_重写Apache2.2和CakePHP

Apache2正在运行,Cake似乎也在运行。如果我去
http://127.0.0.1/cake/index.php
,所有绿色标签(使用PostgreSQL 9.1)。我按照教程在
/var/www/cake/app/controller/PostsController.php
上创建了控制器文件(还有
CakeController
AppController
PagesController
文件)

正如教程所说,在modeldir中,我得到了Post.php和AppModel。在View文件夹中,我创建了Posts文件夹以及index.ctp和View.ctp文件

当我键入像
http://127.0.0.1/cake/index.php?url=/posts/
它进入Cake主文件夹的index.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和PHP 5.2.8(或更高版本)。

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

这一点已经得到了回答,并且手册对此进行了解释。但我个人使用的设置有点不同:

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


重新启动发动机
重写规则^$/app/webroot/[L]
重写规则(.*)/app/webroot/$1[L]
/var/www/test.cake.lan/htdocs/app/.htaccess


重新启动发动机
重写规则^$webroot/[L]
重写规则(.*)webroot/$1[L]
/var/www/test.cake.lan/htdocs/app/webroot/.htaccess


重新启动发动机
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$/app/webroot/index.php?url=$1[QSA,L]

老兄,你的答案很简单,但我想你看错了。。。正如我所说,我的目标不是使用mod_重写。正如我所解释的,我取消了一行注释,删除了所有的.htaccess(实际上我重命名了所有,但是),并使用了前面提到的b4的url。无论如何,我给出了答案。。。你的链接让我学到了更多。
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^$ /app/webroot/ [L]
    RewriteRule (.*) /app/webroot/$1 [L]
</IfModule>
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /app/webroot/index.php?url=$1 [QSA,L]
</IfModule>