CakePHP - 我一直收到500条内部服务器错误消息,偶尔尝试修复404

时间:2015-01-19 19:26:48

标签: apache .htaccess cakephp mod-rewrite cakephp-2.3

我现在已经和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内部服务器错误问题。我整个上午都在网上寻找这个问题的可能解决方案,但我似乎无法找到任何解决方案。任何线程要么没有得到答复,要么有相同的解决方案,我已经试过无济于事。我的智慧结束了,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

保持默认的.htaccess。仅此而已。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule    ^$ app/webroot/    [L]
RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

它会删除statusCode:500,你可以继续..