由于可能的配置错误,请求超出了10个内部重定向的限制

时间:2013-04-06 12:17:41

标签: apache cakephp

我在CakePHP应用程序中遇到以下错误:

由于可能的配置错误,请求超出了10个内部重定向的限制。如有必要,使用'LimitInternalRecursion'增加限制。使用“LogLevel debug”获取回溯。,referer:http://projectname.dev/

根文件夹中的.htaccess,如下所示:

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

并在app文件夹中:

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

并在webroot文件夹中:

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

我正在学习本教程:

http://book.cakephp.org/2.0/en/getting-started.html

此致 斯蒂芬

5 个答案:

答案 0 :(得分:58)

我刚刚在这里找到了问题的解决方案:

http://willcodeforcoffee.com/2007/01/31/cakephp-error-500-too-many-redirects/

webroot中的.htaccess文件应如下所示:

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

而不是:

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

答案 1 :(得分:2)

uint8 arr[3][2] = {{146,179},
                   {133, 166},
                   {108, 141}} ;

答案 2 :(得分:0)

当我调试PHP header()函数时,我发生了这个错误:

header('Location: /aaa/bbb/ccc'); // error

如果我使用相对路径,它可以工作:

header('Location: aaa/bbb/ccc'); // success, but not what I wanted

然而,当我使用像/aaa/bbb/ccc这样的绝对路径时,它会给出确切的错误:

  

由于可能,请求超出了10个内部重定向的限制   配置错误。使用'LimitInternalRecursion'来增加   必要时限制。使用“LogLevel debug”获取回溯。

看起来头部函数在内部重定向而根本没有HTTP,这很奇怪。经过一些测试和试验,我找到了在header()之后添加exit的解决方案:

header('Location: /aaa/bbb/ccc');
exit;

它运作正常。

答案 3 :(得分:0)

我通过以下方式解决了这个问题 http://willcodeforcoffee.com/2007/01/31/cakephp-error-500-too-many-redirects/ 只需取消评论或添加以下内容即可:

RewriteBase /
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

到您的.htaccess文件

答案 4 :(得分:0)

按照 cakePHP 官方文档,.htaccess 应该是这样的:

https://book.cakephp.org/2/en/installation/url-rewriting.html

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