特定のエラー状態で、ホームコントローラーにリダイレクトしたいのですが、「リダイレクト」ループに入らないようにしたいと思います(例外が毎回生成され、さらに別のリダイレクトが発生します)。これを行うための最良の方法は何ですか?
3871 次
3 に答える
3
停止性問題の解決策を求めているようです(つまり、「例外が発生した場合は自分自身にリダイレクトしたいが、後続の呼び出しで常に例外がスローされる場合はリダイレクトしたくない」)。
この分野での研究の実施を除けば(停止問題を解決することは不可能ですが、特定の分析でかなりの数のケースを排除できます)とにかくFirefoxが行っていることを実行するのが最善の策だと思います-自己の数を数えてください-リダイレクトが発生し、特定のカウントを超えるとリダイレクトを停止します。
これを行う方法は、後続の「例外スローリダイレクト」ごとにインクリメントされるパラメーターを含め、リダイレクトするかどうかを決定するときにこのパラメーターと比較することです。
于 2010-06-11T07:30:17.637 に答える
1
さて、再帰を停止する一般的な方法は、ストップケースを使用することです。あなたの例では、リダイレクトがリファラーを見ることができるものは何でも、リファラーに「リダイレクト」しようとしないことを確認してください。
于 2010-01-21T19:59:25.977 に答える
0
簡単な答えは、ホームコントローラーにリダイレクトしないことです。
代わりに、静的エラーメッセージページにリダイレクトしてください。
これにより、よりクリーンで安定したものになります。
于 2012-07-26T11:20:02.090 に答える