我现在已经和cakePHP合作了一段时间了,并且偶尔会出现一个我无法找到解决方法的错误。
问题是,在某些服务器中,即使相同的软件在大多数其他服务器上运行,cakephp似乎也会返回500内部服务器错误。这已成为一个问题,因为显然错误现在出现在GoDaddy服务器中,作为最常见的服务器,我希望我们的许多客户使用它。此外,我知道这不是一个编码问题,因为错误将出现在我们的软件和从here下载的新的空cakePHP包中。
也就是说,我已经尝试更改.htaccess文件以适应here描述的内容,但无济于事。截至目前,测试的.htaccess文件(无代码,应该只输出cakephp发布说明页面)安装如下:
/ caketest / 上的那个(这是我安装的子文件夹):
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
# Rewrite Base: The Base Path For Domain
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
/ caketest / app / 上的那个:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1/ [L]
</IfModule>
/ caketest / app / webroot / 上的那个:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
对默认的cakephp .htaccess文件进行此更改后,500 Internal Server Error页面将消失。但是,现在我得到一个404页面说:
在此服务器上找不到请求的URL / app / webroot /。
然后,我尝试更改 / caketest / .htaccess文件以匹配它所在的子文件夹:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
# Rewrite Base: The Base Path For Domain
RewriteBase /caketest/
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
但后来我再次开始收到500内部服务器错误问题。我整个上午都在网上寻找这个问题的可能解决方案,但我似乎无法找到任何解决方案。任何线程要么没有得到答复,要么有相同的解决方案,我已经试过无济于事。我的智慧结束了,有人可以帮忙吗?
答案 0 :(得分:0)
保持默认的.htaccess。仅此而已。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
它会删除statusCode:500,你可以继续..