【发布时间】:2013-03-06 09:50:16
【问题描述】:
我有一个问题,用 CakePHP 1.3 编写了一个 Webapp,它运行良好,所以我想使用较新的 cake 版本,然后在我的本地 Apache 上复制它(在旧的 Cake 运行正常之前,它可能具有正确的配置)它显示 mod_rewrite 不起作用的错误。所以我不明白,因为如果我比较两个蛋糕版本的 .htaccess 会有很多差异,所以我尝试将旧的 .htaccess 用于较新的蛋糕 2.3,但得到了错误 500。
所以我真的不明白这个问题,因为 Apache 肯定配置正确。
这是我的 .htaccess 文件(cake 2.3.1)包含的内容:
蛋糕/
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
蛋糕/应用程序/
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
蛋糕/app/webroot/
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
非常感谢您的帮助!
【问题讨论】:
-
那是错误的htaccess文件,正确的是直接在/webroot中
-
当然很抱歉,所以我添加了丢失的 .htaccess 文件
-
你从哪里得到最后一个 webroot htaccess 文件?请查看核心文件(例如可通过 github 公开访问)并进行比较。那么你会发现你的确实是无效的。
-
嗯,这似乎是正确的,不是吗? github.com/cakephp/cakephp/blob/2.3.1/app/webroot/.htaccess
标签: apache cakephp mod-rewrite