問題タブ [http-status-code-404]

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 投票する
2 に答える
11897 参照

iis-7 - IIS7で超過したmaxAllowedContentLengthをどこでキャッチして処理しますか?

ユーザーがファイルをアップロードできるようにするaspxページがあり、ファイルの最大アップロードサイズを10MBに制限したいと思います。IIS7、.NET3.5。web.configファイルで次の設定を行っています。

を実装するカスタムエラー処理モジュールがありますIHttpModule。私はmaxRequestLength、超えたときHttpApplication.Errorに実際に発生することを発見しました。ただし、で遊んでいるとmaxAllowedContentLengthHttpApplication.Errorイベントが発生せず、ユーザーは404.13ページにリダイレクトされます。最初のチャンスの例外をオンにしてVisualStudioに接続しましたが、何もスローされていません。

私の最初の考えは、以前のイベントでヘッダーコンテンツの長さを確認することです。これを行う場所に関する推奨事項/ベストプラクティスはありますか?PostLogRequest?EndRequest?

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

apache - Apache に 404 エラーを無視/ブロックさせ、ハンドラー ページにリダイレクトする方法を教えてください。

コンセプト

ですから、私はすでにこのウェブサイトを、誰もが好む独自のコンテンツ管理システム (CMS) で作成 (実際にはアップグレード) しました。ほとんどの CMS と同様に、デフォルトの動作は、次のような見苦しくまったく役に立たない URL を持つアクセス ページでした。

そのため、見栄えが良くなるだけでなく、Google 検索エンジンとうまく連携できるように、「実際の」URL を使用できるように変更するというアイデアがありました。変更はそれほど難しくありませんでした。

  1. Apache 経由で該当する URL のページがなかったことを確認し、ErrorDocument 404 /redirect.php を使用して /redirect.php にリダイレクトします。
  2. redirect.php は URL を取り除き、データベースでそのエントリを見つけます。
  3. redirect.php は、ページ エントリから HTML データをエコーし​​ます。

すべてのページは (CMS に従って) 階層構造で作成されているため、ページを見つけるには、最後のページが見つかるまでデータベースを子ごとに検索するだけで済みました。このように、 のような URLは、 の子が の子であるエントリwww.mysite.edu/me/something/usefulを表示します。すべてのページ HTML はデータベースに保存されるため、エントリが見つかったら、PHP を介してページにエコーするのは簡単なことです。usefulsomethingme

補足:実際には、各ページの完全な URL を保存してリンクする新しいテーブルを作成したpageidので、検索プロセスが大幅に改善されましたが、一般的な考え方は変わりません。

問題

クライアント側では、すべてが驚くほどうまく機能します。しかし、Google がまだ私たちのサイトのほとんど (どれも) をインデックスしていないことに気付きました。基本的には、再設計する前にある程度インデックスが作成されていましたが、インデックスに残っているのは、URL が同じままのファイルだけです。

ついに (今日) Google Webmaster Tools から、sitemap.xml にリストされているページで 404 エラーが発生し続けるというデータを取得しましたが、リンクをクリックすると、ページは問題なく表示されます。これにより、リダイレクトがうまく機能している間、Apache はまだStatus: 404メッセージを送信しており、おそらく Google のボットに処理を停止したり、ページのインデックスを作成したりしないように促すと思われます。

質問

したがって、これらすべてを念頭に置いて、質問は次のとおりです。

  1. Apache がまだStatus: 404メッセージを送信していることを最初に確認する方法はありますか?
    • 答え:はい!
  2. /redirect.php にリダイレクトしている間に停止させる方法はありますか

前もって感謝します!

編集 1: firebug の [ネット] タブを紹介してくれてありがとう、アレックス。私は firebug が大好きでよく使っているので、この新機能は今後役に立つと確信しています (読んでください: 現在、他にできることを調査中です)。あなたの投稿のおかげで、これが実際に対処が必要な正しい問題であることを確認できましたStatus: 404ここで問題となるのは、具体的には、 Apache がこのエラーを送信するのを無効にし、必要に応じてページをリダイレクトする方法です。

リクエストに応じて、私のファイルからいくつかのコード サンプルを示します。構成ファイルについて注意すべきことの 1 つは、私は Debian Etch で実行していて、" apt-get install apache2 mysql-server php5" 経由でインストールされているため、それらが少し分散していることです。リストされているもののスニピットだけが、これに影響すると思われる唯一のものです。問題。ファイルが大きいので(669行)、もっと見たい場合は、どの部分が役に立つか教えていただければ含めます。

/etc/apache2/apache2.conf

/etc/apache2/apache2.conf- 空のファイル

/www-root/redirector.php

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

jquery - 404として表示されるjQuery1.3.2のビット

私は自分のサイトの1つでjQuery1.3.2を使い始めたばかりです。ほとんどはDOMのものですが、少しajaxがあります。私のログレコードは、jQueryファイルを保持しているフォルダーからの一貫した404を示しており、エラーをトリガーする「ページ」はjQueryファイルのスニペットであることがわかります。

  • ){F.html(E?o(
  • ] ||!o.suppo
  • rt.htmlSerialize && [1、

jsエラーを探してサイトを検索しましたが、見つかりません。しかし、これらをグーグルすると何も返されません(jQueryファイル以外)。

何か案は?

ありがとう、

Corey

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

asp.net-mvc - 画像のASP.NETMVC未処理の例外?

サイトを閲覧したときに例外を再現できませんでした...しかし、イベントロガーでこれを確認しました(未処理の例外が発生すると携帯電話にメールで送信されます)。

例外は次のとおりです。

パス'/Content/UsrImg/ImageFileName.jpg'のコントローラーが見つからないか、IControllerを実装していません。

私が起こったと思うのは、Google(またはおそらくプロキシサーバー)がキャッシュしていた画像がもう存在しなかったということです。その画像に直接移動しようとすると、私が書いた「ページが見つかりません」というわかりやすいエラーが読み込まれます。

しかし、404エラーで未処理の例外をスローする必要がありますか?私には少し奇妙に思えます。おそらく、これを修正するためにルーティングでできることがありますか?

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

asp.net - カスタム404エラーページで失敗したURLを取得する

カスタム404エラーページから失敗したリクエストのURLを取得することは可能ですか?IISを使用して、失敗した要求を処理する.netページにカスタムエラーページを設定しています。

リクエストオブジェクトのurl属性とreferer属性を使用してみましたが、機能しません。

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

asp.net - ファイルダウンロードHTTPハンドラーで404を処理する最良の方法は?

ユーザーがファイルをダウンロードするためのリンクを提供するグリッドがあります。ファイルはアプリケーションの外部に保存され、パス参照はデータベースから読み取られ、要求された各ファイルを処理するために HTTP ハンドラー (*.ashx) が使用されます。ただし、存在しないファイルを指すデータベース エントリが存在する可能性があります。私はFileNotFoundException.

最初のアイデアは、応答に標準の 404 コードを設定することです。それが私が今行っていることです。

ファイルの欠落に関する通知 (jQuery) を表示するのがより便利な方法ですが、ファイルのダウンロードは AJAX で行われないため、これには 2 段階のプロセスが必要です。クライアント側の onclick ハンドラーが Web サービス メソッドを呼び出して、ファイルが存在し、存在しない場合は、クリックをキャンセルし (false を返す)、わかりやすいメッセージをユーザーに表示します。ただし、ファイルが存在する場合は、通常の実行に進みます。しかし、これによりさらに別のサーバー呼び出しが追加されます。

同様の問題に対処しましたか?どのように解決しましたか?

明確化 - アプリケーションは ASP.NET 2.0 で構築され、jQuery を使用して Web サービス メソッドを呼び出します。

0 投票する
4 に答える
270 参照

linux - 301 すべての 404 をホームページに

これを行う最良の方法を知っている人はいますか?アパッチ、トムキャット、リナックス

0 投票する
19 に答える
153742 参照

asp.net-mvc - ASP.NET MVCで404を適切に処理するにはどうすればよいですか?

RC2を使用しています

URLルーティングの使用:

上記は次のようなリクエストを処理しているようです(最初のMVCプロジェクトによってデフォルトルートテーブルが設定されていると仮定します): "/ blah / blah / blah / blah"

コントローラ自体のHandleUnknownAction()をオーバーライドします。

ただし、以前の戦略では、不良/不明なコントローラーへの要求は処理されません。たとえば、「/ IDoNotExist」がありません。これをリクエストすると、ルーティング+オーバーライドを使用する場合は404ではなく、Webサーバーから汎用の404ページを取得します。

最後に、私の質問は 、MVCフレームワーク自体でルートまたは他の何かを使用してこのタイプのリクエストをキャッチする方法はありますか?

または、デフォルトでWeb.Config customErrorsを404ハンドラーとして使用し、これをすべて忘れる必要がありますか?customErrorsを使用する場合、直接アクセスに対するWeb.Configの制限により、汎用404ページを/Viewsの外部に保存する必要があると思います。

0 投票する
9 に答える
62374 参照

asp.net - ASP.NET で 404 を実装する最良の方法

標準の ASP.NET Web アプリケーションに 404 ページを実装する最善の方法を決定しようとしています。現在、Global.asax ファイルの Application_Error イベントで 404 エラーをキャッチし、わかりやすい 404.aspx ページにリダイレクトしています。問題は、リクエストで 302 リダイレクトに続いて 404 ページが見つからないことです。リダイレクトをバイパスし、わかりやすいエラー メッセージを含む 404 で即座に応答する方法はありますか?

Googlebot などの Web クローラーは、存在しないページへのリクエストで 302 に続いて 404 が返されても気にしますか?

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

ruby-on-rails - パーマリンクでプロジェクトを検索、見つからない場合は404

私はショーコントローラーを変更して、IDではなくパーマリンクでレコードを検索するようにしました(SEOのジューシーさのため)。

しかし、localhost:3000 / projects / fooと入力すると(そしてfooパーマリンクを持つプロジェクトがない場合)、404が見つからない代わりに500サーバーエラーが発生します。

これはなぜですか、どうすれば修正できますか?