問題タブ [errordocument]

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 に答える
6291 参照

virtualhost - Apache エラー ドキュメントが機能しない

Linux環境でapache2 Webサーバーを実行しています。ユーザーをカスタマイズしたエラーページにリダイレクトしたいので、エラーページを作成し、htdocsにシンボリックリンクを作成しました。静的ファイル -> /app/static-files. また、httpd.conf ファイルで、仮想ホストの定義を作成し、以下のようなエラー ページも含めました。

アプリ サーバーがダウンしている場合、503 のカスタマイズされたエラー ページにリダイレクトされません。サーバー固有のエラー ページのみが表示されます。しかし、この ErrorDocument を仮想ホスト定義から除外すると、カスタマイズされたエラー ページにリダイレクトされます。私は 3 日間頭を打っています.しかし、理由を見つけることができません.私はすべてのブラウザで試しました.誰でも私を助けることができます?

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

php - ブロックされたIPが403ErrorDocumentを表示できるようにする

スパムデータベースのルックアップに基づいて、my.htaccessファイルにIPアドレスを自動的に追加するスクリプトがあります。ただし、これらのアドレスからの後続の訪問で、作成した403ErrorDocumentを表示できるようにしたいと思います。明らかに、しかし、彼らは否定されているので、彼らはできません。私の.htaccessは次のようになります。

これを行う方法について何か提案はありますか?PHP経由でアドレスを追加しています。

前もって感謝します。

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

.htaccess - htaccess付きの404ページ

ファイルではない名前を取得して表示するための書き換えルールを設定している場合page-layout-select.php

何かを入力したかのようにページが何も返さない場合(存在しないページ名)、404を設定するにはどうすればよいですか?それでもpage-layout-selectが読み込まれますが、コンテンツは含まれません(存在しないため)

これに関するどんな助けも素晴らしいでしょう

ありがとう

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

php - PHP から Apache に HTTP ステータス コードを返しますか?

ローカルの開発マシンに、Windows 7 で動作する Apache 2.2.16 と PHP 5.3.5 を含む PDT + Zend Server をダウンロードしました。私の PHP では、ユーザーが存在しないドキュメントを要求したときに、header("Http/1.0 404 Not Found") を使用します。私のローカルサーバーでは、すべてがうまく機能します。カスタムの ErrorDocument が表示され、満足しています。

Linux サーバーで Apache 2.2.38 と PHP 5.3.8 を実行している共有ホストにすべてをアップロードすると、突然、ErrorDocuments が PHP からのものでない場合にのみ機能します。

PHP.ini、httpd.conf、または .htaccess に、Apace が PHP からのエラー コードを認識できるようにする設定がありますか?

これを調査したところ、「Apache は、いったん PHP に渡されたステータス コードを認識しない」ということしかわかりませんでした。このような場合、開発サーバーが正しく動作するのはなぜですか?

編集

わかりやすくするために、.htaccess を次に示します。

ユーザーが myhost.com/jdkslfjdls に移動すると、ユーザーは Errors/Http404.php のコンテンツを受け取るため、.htaccessが機能します。

ただし、ユーザーが myhost.com/images/GetImage.php?Id=5 に移動すると (画像 #5 がない場合)、ユーザーはコンテンツを受け取りません。

(内部 IP アドレス)/images/GetImage.php?Id=5 に移動すると、ユーザーは Errors/Http404.php の内容を受け取ります。

ユーザーが GetImage.php?Id=6 にアクセスしようとすると、同様の問題が発生します (画像 #6 があるが権限がない場合)。共有サーバーでは、空白のページまたはブラウザーの 403 エラーが表示されます。私の開発サーバーでは、実際のカスタム 403 エラー ページが表示されます。

繰り返しますが、.inc ファイルにアクセスしようとすると、共有サーバーで 403 エラー ドキュメントが機能します。

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

php - ErrorDocument&Mod Rewrite

次のようにhtaccessですべてを宣言する代わりに、Mod Rewriteを使用してすべての可能なhttpステータスエラーコード(4XXおよび5XXコード)を処理する方法があるかどうか疑問に思いました。

どこかで私はこの小さなトリックを見つけました:

しかし、それは404のものだけを扱っているのではありませんか?問題がない場合、キャッシュバスティングの書き換えルールを変更して、この機能も処理できるようにするにはどうすればよいですか?

私は次のようなものが必要になります:

手伝ってくれませんか。どうもありがとう!

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

php - カスタム エラー ページとしての Index.php

新しい Web サイトを構築するために Apache 2.2.X と PHP 5.2.X (Apache モジュールとしてインストール) を使用しています。サーバー エラーの処理方法に関する提案を読みたいと思います。
ホームページの同じファイル (/index.php) を使用して、カスタム エラー メッセージを表示することを考えていました。これは私の .htaccess 設定です:

さて、私の index.php ファイルには、次のようなコードがあります。

すべてが魅力のように機能します。
まあ、修正できない 1 つのことを除いてすべて: Apache に 500 ステータス コードを返すように強制すると (たとえば、.htaccess に不正な形式のコードを挿入するなど)、"/index.php? error=500" ですが、代わりにデフォルトの 500 エラー ページが表示されます。他のステータス コード (403 や 404 など) の場合、構成は完全に機能します。

しかし、今は疑問に思っており、別のページを使用してエラーを処理する方がよいと考え始めています (たとえば、「/error.php」)。
"DrawHomepage()" は "robots" メタ タグを "index, follow" に設定する必要があり、"DrawErrorPage()" は "noindex, nofollow" に設定する必要があります。右?では、私のホームページに初めてアクセスしたときに、Web クローラーがエラー応答を受け取ったらどうなるでしょうか? Web クローラーが初めて私のホームページに 200 を訪問し、1 か月後に 500 を訪問した場合はどうなるでしょうか? また、エラーが表示されている場合でも、「ロボット」メタ タグを「index, follow」のままにしておくとどうなりますか?

この問題の回避策、解決策はありますか? あなたならどうしますか?

どうもありがとう!

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

php - ErrorDocumentでmod_rewriteを使用する

PHPフレームワークでmod_rewriteを使用して、ユーザーフレンドリーなリンクをアプリケーションの1つのメインエントリポイントにリダイレクトしています。私が使用している.htaccessファイルは次のようになります。

ErrorDocumentここで、そのルールをディレクティブで使用したいと思います。これはどのようにすればよいですか?404私のフレームワークは、コントローラーが欠落している場合に応答コードを設定します。

ErrorDocument 404 /index.php?url=404行を追加しようとしましたErrorDocument 404 /errorが、何も機能していないようで、デフォルトのブラウザのエラーページが表示されます。

なにが問題ですか?

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

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

php - .htaccess 経由で GET/POST パラメータをページに送信する方法

要求された URI で 500 エラーが発生した場合、エラー ページにリダイレクトしたいと考えています。私はこのようなことをしました:

リクエストを処理するために、リクエストされたURIをGETパラメータとして「500.php」に送信します。しかし、500.php は GET パラメータを受け取りません。

どうすればいいですか?

前もって感謝します。

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

php - PHPで404エラーを正しくインターセプトするにはどうすればよいですか?

基本的に、私が行っているのは、.htaccessのErrorDocumentを使用して404をインターセプトし、getFile.phpにポイントすることです。次に、getFileはURLからファイル名を取得し、mysqlデータベースでそれを検索して、データを取得し、適切なヘッダーを適用します。

私の開発環境(ubuntuで実行されている最新のLAMPサーバー)では、すべてが正常に機能しているように見えますが、サイトはGoDaddyでホストされており、返されるヘッダーに問題があるようです。GoDaddyは404を返し、とにかくデータを送信すると思います。

その結果、この方法で処理されるリンクを右クリックすると、[名前を付けて保存]を実行でき、すべてが正常に機能します。ファイルが画像の場合、問題なく開きます。しかし、リンクをクリックするだけで、ブラウザで表示するのではなくダウンロードするファイルである場合、すべてのブラウザで「ファイルが見つかりません」というエラーが発生します。Firebug Consoleは、ファイルが正常に転送されたかどうかに関係なく、404エラーであると主張します。私のコードは次のとおりです。

そして.htaccessファイル:

これは、/ FILES/dbFilesにある完全な.htaccessファイルです。GoDaddyがそこにもっと多くのものを期待しているかどうかはわかりませんが、自分のサーバーで記述されたとおりに機能しているようです。

私はヘッダー情報の多くの組み合わせを試しましたが、プラスの効果はありませんでした。

私のコードは明らかに機能しますが、その404の発生を防ぐことはできないようです。

ありがとう!-ジャー