問題タブ [custom-error-pages]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1212 参照

cakephp - カスタムcakeError

これは私が持っているものです:

コメント_controller.php

app_error.php

そして、 app / views/errors内にerror404.ctpspam.ctpを作成しました

問題は、コメントがスパム($ result ['spam'] == 1)の場合、cakePHPがerror404レイアウトをロードすることです。しかし不思議なことに、スパムコメント(「SPAM !!!」)のメッセージが表示されます。

存在しないコメントの場合、正しいerror404レイアウトが読み込まれます。

何か案は?

編集:問題が修正されました。コードは正しかったが、サーバーを再起動する必要があった。必要ではないはずですが、これで問題が解決しました。ケーキが新しい*app_error.php*ファイルの正しいパスをたどっていなかった可能性があります。

0 投票する
1 に答える
2068 参照

web-config - Web.config カスタム エラーが 404 で機能しない

これは、次のようなリクエストでうまく機能します。

しかし、他の拡張機能の場合、これによりサーバー 404 ページが表示されます。サーバーの 404 ページをエラー ページにリダイレクトするにはどうすればよいですか?

0 投票する
2 に答える
755 参照

asp.net - ステータス コード 404 の ASP.NET ページ

みんな!asp.net エラーの例外に問題があります。私は不動産のウェブアプリに取り組んでおり、グーグルは不動産に関するリンクのインデックスを作成しました。しかし、しばらくすると、いくつかの不動産がデータベースに存在しなくなります。問題は次のとおりです。ユーザーがデータベースに存在しない不動産のリンクをクリックした場合、ステータス コード 404 でカスタム エラー ページを返す必要があります。

私は次の方法でそれをやろうとします:

  1. 取り扱いURLについて そのような不動産が存在するかチェックします
  2. そうでなければ、私は自分自身を投げますRealEstateDontExistException
  3. サーバーのエラーを処理する際のGlobal.asaxで、このエラーが次のタイプであるかどうかを確認しRealEstateDontExistException ます
  4. 私は設定しました:

ステータス コード 404 で aspx ページを表示する必要があります。ローカル ホストでは正常に動作します。しかし、実稼働サーバーから存在しない不動産を取得しようとすると、Web ブラウザーに次のテキストが表示されます

「お探しのリソースは削除されたか、名前が変更されたか、一時的に利用できません。」ステータスコード404で。

誰かが私を助けることができますか?ありがとう 。

0 投票する
1 に答える
1070 参照

asp.net-mvc - ASP.NET MVC に customErrors 設定を反映させるにはどうすればよいですか?

web.config の customErrors タグで、コントローラーを指しています。私のコントローラーでは、複数のアプリケーションで共有されている外部エラー ページにリダイレクトしています。

<customErrors defaultRedirect="~/Error/ServerError" mode="On">

私のコントローラー:

エラー処理をテストするために Error/ErrorTest を呼び出しています。ただし、指定したコントローラーにリダイレクトするのではなく、常に Views/Shared/Error.cshtml にリダイレクトします。

customErrors 設定で defaultRedirect パスを尊重するように asp.net mvc を取得するにはどうすればよいですか?

UDPATE: 私も ELMAH を使用して、この投稿で説明されているように HandleErrorAttribute をオーバーライドしています。.Net Reflector から、ベースの HandleErrorAttribute が Error をビューとして設定していることがわかります。Error.cshtml やその他のビューにリダイレクトすることについて、私ができることはあまりないと思います。

0 投票する
2 に答える
4298 参照

asp.net - HttpContext.current.Session がエラー ページでクリアされる

ASP.NET 4アプリケーションのカスタム エラー ページを作成しました。例外オブジェクトを入れましたHttpContext.current.Session["CustomError"]が、ユーザーがエラーページにリダイレクトされたときHttpContext.current.Session["CustomError"]nullです。私は次のように CustomError クラスのコンストラクターでそれを行います。

コードをステップ オーバーすると、Session["Error"] にエラー オブジェクトが含まれます。何か案が?

アップデート:

web.config からカスタム エラー ページを削除し、これを glabal.asax に追加しました。

この関数をステップ実行すると、例外がスローされたときにこの関数が 2 回呼び出されることに気付きました。1 回目は Session["CustiomError"] にエラー オブジェクトが含まれていますが、2 回目は null です。

0 投票する
2 に答える
13675 参照

php - ApacheのErrorDocumentディレクティブはリダイレクトしません

Apacheがユーザーにスローする可能性のあるほとんどすべてのエラーをキャッチし、そのユーザーをエラーコントローラーにリダイレクトするために、.htaccessファイルに多数のErrorDocumentディレクティブがあります。これにより、エラーがよりユーザーフレンドリーな方法でレンダリングされます。しかし、それはうまくいかないようです。

たとえば、mysite.com / "" ## $ ## $!のような無効なURLを入力すると、errors.phpファイルへのリダイレクトではなく、常にApacheのデフォルトの403エラーメッセージが表示されます。以下は私が使用しているディレクティブです。それを機能させるために何か他のことをする必要がありますか?(AllowOverride Allが設定されています)

これが絶対カスタムエラー処理にアプローチする間違った方法である場合は、私に知らせてください。正しい方向に微調整していただければ幸いです。

ありがとうございました!

編集:ああ、私がこれについて言及すると思っただけです。リクエストをリダイレクトするための独自のMVC構造を作成しましたが、これはうまく機能します。PHP内から、ユーザーが存在しないURLを要求した場合、私自身の404エラーは問題なく発生します(または私が定義した他のエラー)。つまり、基本的に、mysite.com/!!!!と入力すると URLに挿入すると、機能し、404が返されます。ただし、二重引用符でリクエストを開始すると、デフォルトのApache403エラーが発生します。奇数。また、500エラーはerrors.phpへのリダイレクトにも失敗し、デフォルトのApache 500画面を返すだけです(たとえば、header( "HTTP / 1.0 500 Internal Server Error"); die();)でテストする場合。

編集3:ErrorDocument 200 "message".htaccessファイルに入れようとしましたが、何も起こりませんでした。開いたページはすべて正常に開きます。最悪のシナリオでは、これは無限ループでスタックするはずです。最良のシナリオでは、「メッセージ」を出力する必要があります。それはどちらもしませんでした、それは単にErrorDocumentを無視しました。Apacheのアクセスログには通常の200OKヘッダーが記録されていますが、.htaccessでは完全に無視されていました。

0 投票する
3 に答える
22752 参照

iis-7 - IIS7 Web サイトのリダイレクトを使用してカスタム ASP 404 ページを構成する

既存の Web サイトを IIS6 から IIS7 に移行していますが、404 エラー ページの設定で問題が発生しています。404 エラーページは次のように機能します。

  • カスタム ASP ページは、「特別な」URL の短いリスト (例: http://example.com/limited-offers ) に対して URL をチェックします。
  • URL がわかっている場合は、そのページの実際の URL にリダイレクトされます。
  • それ以外の場合、訪問者は 404 ステータス コードの静的なエラー ページにリダイレクトされます。

IIS6 ではこれは宣伝どおりに機能しましたが、IIS7 ではいくつかの点が変更されました。IIS7 は、エラーページが定義されているステータスコードを検出すると、常に構成されたエラーページを表示します。404 ステータス コードの静的なエラー ページの場合、これは IIS7 がカスタム ASP ページを再度実行することを意味します。これにより、無限のリダイレクトが発生します。

この動作は、Web.Config に設定を追加することで回避できることがわかりました。

ただし、これを追加した後、カスタム ASP ページはリダイレクトを拒否します。Fiddler で確認したところ、IIS7 は 404 ステータス コードを強制し、302 リダイレクトを上書きしているようです。

私たちの問題を解決するための別のアプローチを誰かが推奨できますか?

0 投票する
2 に答える
212 参照

vbscript - What other 5xx errors could be occuring and how to I find/track them?

I have a Classic ASP/VBScript site running on IIS 6, and a program called SmarterStats (found via an earlier question) providing various stats and info from the server logs. This is an internal site, and we do use integrated authentication (AUTH_TYPE = Negotiate).

I'm looking at the report on response codes, and it says that in the last 7 days there have been 255 responses with a 5xx error code... naturally not the most useful stat I could get back.

I have a custom error page for 500 and 500.100 errors that logs the specifics for me to follow up on - and that log is virtually empty. I've tested with an intentionally broken page, and a standard user account, and it is working as expected - custom message, log entry made. (and checked with "friendly error messages" on and off - works either way)

The only entry I have in the log is a single entry for an error -2147024843 (authentication related, took too long to get a response), and that's it... what other errors could be happening and how can I find/track them?

Should I route all the different types of 5xx errors through my custom page? Or is there something else I should be doing?


Resolution: I'm going to go with running all 5xx errors through the custom page. For reasons that leave me totally baffled, the errors have stopped... I've not changed anything, no one has changed anything on that server - but the errors have stopped. Go figure.