由于可能的configuration错误,请求超过了10个内部redirect的限制

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

由于可能的configuration错误,请求超过了10个内部redirect的限制。 如果需要,使用“LimitInternalRecursion”来增加限制。 使用“LogLevel debug”来获取回溯。referer: http : //projectname.dev/

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

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

并在应用程序文件夹中:

 <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

问候,斯蒂芬

我刚刚在这里找到了一个解决问题的办法:

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

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

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

而不是这个:

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

我在调试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调试”来获得回溯。

它看起来头部功能内部重定向,而不是所有的HTTP都是奇怪的。 经过一些测试和试用后,我发现在header()之后添加exit的解决方案:

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

它工作正常。