我有一个问题,用CakePHP1.3编写了一个Webapp,它运行得很好,所以我想使用更新的cake版本,在本地Apache上复制后(在旧的cake运行正常之前,它可能具有正确的配置),它会显示mod_rewrite不工作的错误。所以我不明白,因为如果我比较。这两种蛋糕的版本有很多不同之处,所以我尝试使用旧的。更新的cake 2.3的htaccess,但出现错误500。
所以我真的不明白这个问题,因为Apache确实配置正确。
以下是我的. htaccess文件(蛋糕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>
非常感谢你的帮助!
我的webroot访问看起来像
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>
和2一起工作很好。十、
但推荐的方法是
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
当你排队时。这应该适用于所有系统。
请参阅webroot访问
还要确保mod_rewrite不仅可用,而且允许通过htaccess启用。您需要在虚拟主机/配置设置中使用类似“AllowOverride All”的内容。并非所有地方都是默认设置。