3

特定のエラー状態で、ホームコントローラーにリダイレクトしたいのですが、「リダイレクト」ループに入らないようにしたいと思います(例外が毎回生成され、さらに別のリダイレクトが発生します)。これを行うための最良の方法は何ですか?

4

3 に答える 3

3

停止性問題の解決策を求めているようです(つまり、「例外が発生した場合は自分自身にリダイレクトしたいが、後続の呼び出しで常に例外がスローされる場合はリダイレクトしたくない」)。

この分野での研究の実施を除けば(停止問題を解決することは不可能ですが、特定の分析でかなりの数のケースを排除できます)とにかくFirefoxが行っていることを実行するのが最善の策だと思います-自己の数を数えてください-リダイレクトが発生し、特定のカウントを超えるとリダイレクトを停止します。

これを行う方法は、後続の「例外スローリダイレクト」ごとにインクリメントされるパラメーターを含め、リダイレクトするかどうかを決定するときにこのパラメーターと比較することです。

于 2010-06-11T07:30:17.637 に答える
1

さて、再帰を停止する一般的な方法は、ストップケースを使用することです。あなたの例では、リダイレクトがリファラーを見ることができるものは何でも、リファラーに「リダイレクト」しようとしないことを確認してください。

于 2010-01-21T19:59:25.977 に答える
0

簡単な答えは、ホームコントローラーにリダイレクトしないことです。

代わりに、静的エラーメッセージページにリダイレクトしてください。

これにより、よりクリーンで安定したものになります。

于 2012-07-26T11:20:02.090 に答える