4

カスタム 404 エラー ページを使用する Web サイトをセットアップしています。これはほとんどのページで機能しているようです。

実際、表示したいエラー ページが 2 つあります。

このページは存在しませんが、ページが見つからない場合に表示される正しいエラー ページを示しています。これは、私の .htaccess ファイルで構成されたエラー ページを示しています: http://www.canadiancommuter.com/wontfindthis.php

このエラー ページは、誰かがデータベースに存在しない古い記事にアクセスしようとすると、私の PHP コードから生成されます: http://www.canadiancommuter.com/2334054466-some+old+article.html

ただし、このリンクも 404 エラーを生成し、別のエラー ページ (通常は広告が含まれます) を示します 。 +CNE+like+Rolling+Stones+concert%2FCaribana.html

この URL が機能しない理由はわかっています。意図的に文字を追加して、404 エラーを返すようにしました。私の問題は、この他の 404 エラー ページがどこから来ているのか分からないことです。

私の .htaccess ファイルにはありません。私の .htaccess ファイルのエラー ページは、上記の最初のリンクで確認できます。

私のコードにはありません。コード自体によって生成された唯一のエラー ページは、上の 2 番目のリンクで確認できます。

それ以外の場所は、私のドメイン レジストラとウェブ ホストだけです。

ドメインは 1 つのレジストラーを通じて登録されていますが、別のプロバイダーのホスティング アカウントを指しています。レジストラは、私が自分のドメインの DNS を Web ホストに向けているだけなので、エラー ページは彼らからではなく、私の Web ホストから来ると言っています。

私のウェブホストは、このエラーページは彼らから来ているのではなく、私のコードにあるに違いないと言っています.

このサイトで使用されているすべてのコードを大幅に変更したので、エラー ページがそこから来ていないことは確かです。

このエラーページを探すべきアイデアはありますか?

(注記として、レジストラまたは Web ホストが彼らが話していることを完全に確信していたかどうかは定かではありません。そのため、このページのソースとしてそれらのいずれかを除外していません。両方の管理コンソールは、この効果について何も明らかにしません。)

4

3 に答える 3

4

あなたのページは、cloudflare-nginx/を実行しているプロキシを介して提供されています。これは、いずれかまたは%2Fフォームのスラッシュによって別の 404 ページが提供されるため、404 エラーをキャッチする可能性があります。

.htaccessファイル名スキームに一致するものだけでなく、考えられるすべての 404 エラーをキャッチするルールはありますか? そうでない場合は、設定してみてください。また、ローカル サーバー インスタンスでサイトを実行して、404 ページが期待どおりに動作するかどうかを確認することもできます。

Transfer-encoding: chunkedで制作したキャラを設定ミスと勘違いしたので修正

于 2012-08-05T08:32:37.710 に答える
3

コードがエラー ページを生成しない場合 (既に判断したとおり)、「謎の」404 ページは、デフォルトの webserversver 構成 (おそらくホスティング プロバイダーによって制御されている)から、または DNS サービスから間接的に発生します (たとえば、Web サーバーがブラウザを未登録のドメインにリダイレクトすると、購入を勧めるページにリダイレクトされる場合があります)。

IMO がこれを追跡する最も簡単な方法は、リダイレクトを追跡するための機構を備えたブラウザー (たとえば、Firebug 拡張機能がインストールされた Firefox) を使用することです。エラーページが実際にドメインからのものである場合 (スペルミスではない場合)、デフォルトの Web サーバー構成 (およびおそらくホスティングプロバイダー) に関係しています。

編集: 上記を再読すると、明確にする必要があることがわかります.DNSサービスは、単にどこかに「リダイレクト」することはできません. 存在しないドメインをブラウザに入力すると、広告のあるページにリダイレクトされることがわかった場合は、HTTP 要求を検査し、舞台裏であなたに代わって DNS を調べているのはネットワーク接続プロバイダーであると確信できます。リダイレクトします。

于 2012-08-05T07:26:12.027 に答える
1

これは絶対にあなたのホストプロバイダーからのものです!!

URL に %2F が指定されている場合、nginx はそれをエラーとして処理できず (これはバグの可能性があります!)、ホストのデフォルトのエラー ページが表示されます。サイトと同じサーバーでホストされている他の Web サイトでも同じエラーが表示されます。

あなたのサイトと同じサーバー上に他の多くのウェブサイトがあります! (確実にIPを確認できます)

最後のものはカスタム エラー ページを使用しているため、%2F でのエラー ページが表示されます。

カスタム エラー ページをしばらく無効にすることもできます。おそらく、謎のエラー ページが表示されるでしょう。

于 2012-08-09T00:54:14.687 に答える