我在我的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;
它工作正常。