当我在服务器中上传cake php时,它会给我以下错误:
我已经按照cakephp的建议包含了htaccess文件:
root htaccess如下:
IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
app htaccess如下:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
最后app / webroot htaccess如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RRewriteRule ^(.*)$ index.php/$1 [QSA,L]
</IfModule>
我网站的目录结构是
-app --webroot ---htaccess --- test.php --htaccess -lib -htaccess
希望有人可以提供帮助。谢谢!
答案 0 :(得分:1)
听起来像Apache配置问题。您需要确认在Apache上启用了mod_rewrite。这篇文章讨论了如何启用它:
http://www.lavluda.com/2007/07/15/how-to-enable-mod_rewrite-in-apache22-debian/
如果您无法访问Apache配置,则需要联系您的托管服务提供商。
<强>更新强>
哦,我刚才注意到了。尝试更新您的webroot / .htaccess:
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
注意?在规则?它应该解决它。
答案 1 :(得分:1)
我不确定重写错误,但我也有PDO错误。我不得不将这两行添加到.htaccess文件的顶部。
Action application/x-hg-php53 /cgi-sys/php53
AddHandler application/x-hg-php53 .php
这适用于HostGator。问题是他们使用php 5.2作为兼容性的默认值,你必须添加这两行以使用具有PDO的5.3。也许它会在那里工作。
我对.htaccess规则几乎一无所知,但RewriteBase /
不在我的任何.htaccess文件中。