htaccess与cakeph帐户500错误的cakephp

时间:2012-11-21 18:43:11

标签: php .htaccess cakephp

我在justhost.com帐户上遇到.htaccess文件的问题。我收到了持续的内部500错误,我在网上尝试了许多不同的解决方案。这是我的htaccess文件的样子:

ROOT HTACCESS

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

app / HTACCESS

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

app / webroot / HTACCESS

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

问题是我在错误日志中得到了这个:

Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

我已经尝试将RewriteBase设置为/但它没有解决问题。

2 个答案:

答案 0 :(得分:13)

你必须在三个.htaccess文件中使用Rewrite base。根目录中包含目录app,lib,plugin和vendor的那个应该看起来像

<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 /app/
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>

最后app / webroot / htaccess应该看起来像

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /app/webroot
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

如果您的lib不在根文件夹中,您还必须更改core.php中的值以将其映射到相关地址。为此,您可以查看烹饪书中的高级安装。

答案 1 :(得分:1)

检查您的文件权限。

关闭htaccess文件并写入echo 1;退出; index.php并检查天气是否显示。