1

Google Page Speed Onlineを使用して発生した問題がありますが、これには全体像があるのではないかと心配しています。オンラインツールを使用してサイトを実行しました。結果は次のとおりです:https ://developers.google.com/pagespeed/#url=www.exclaimer.com&mobile=false 。http://www.exclaimer.com/oops.aspx?aspxerrorpath=/default.aspxに発生したリダイレクトを要求していることに注意してください

これで、 http://www.exclaimer.comhttp://www.exclaimer.com/default.aspxの両方を接続した元のURLがブラウザで見つかりました。見つからないページのログを保持しており、実際に/default.aspxは1000回以上そこにあります(変更は24時間前にのみ発生しました)。これは私がPageSpeedオンラインツールを1000回試したのではないので、これが失敗している別のGoogleサービス(または他の自動システム)である可能性があるのではないかと心配しています。サイトにアクセスできないという訪問者からの苦情はなく、通常のユーザーにとっては問題はなく、問題は自動ボットなどにのみ起因していると私は信じています。

私の質問は、問題の原因を特定する方法を知っている人はいますか?アクセスされていたページをキャプチャするように404ログコードを変更しようとしました/default.aspxが、URLリファラーはかなり特定の条件下でしか機能しないため、ここではあまりうまくいきませんでした。

アップデート

エラーの詳細をログに記録するようにコードを変更しましたが、/default.aspxに何も渡されていません。

Exception error = Server.GetLastError();
string errorTitle = "";
string errorDetails = "";
if (error != null)
{
    errorTitle = error.InnerException.Message;
    errorDetails = error.ToString();
}            
Server.ClearError();

... send to database
4

1 に答える 1

1

ページがエラーページにリダイレクトされている場合は、そのページにアクセスしているときにエラーが発生している必要があるため、コードのどの部分が問題を引き起こしているのかを見つけるために、そのエラーをキャプチャしてみてください。

私の推測では、問題は、クライアントから送信される特定のhttpヘッダーを想定していて、それに対してnullチェックを行っていないことです。受け入れられた言語などを送信していない可能性のあるロボットからリクエストを受け取ると、クラッシュします。

グローバルエラーハンドラーでは、データベースにスローされた例外をログに記録するか、ファイルに直接ダンプするだけでログに記録する必要があります。これは常に有用な情報であり、サイトで他のエラーが発生した場合にキャプチャして、その原因を追跡する必要があります。

于 2011-11-04T11:30:13.737 に答える