54

CakePHP アプリケーションで次のエラーが発生します。

構成エラーの可能性があるため、要求が 10 個の内部リダイレクトの制限を超えました。必要に応じて、'LimitInternalRecursion' を使用して制限を増やします。「LogLevel debug」を使用してバックトレースを取得します。リファラー: 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

4

6 に答える 6

1

PHPヘッダー() 関数をデバッグしているときに、このエラーが発生しました。

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;

そして、それは適切に機能します。

于 2016-05-13T04:05:19.790 に答える