1

.htaccessカスタムエラーページ「error.php」を使用しています。問題は、リダイレクトするだけです。

ユーザーがリダイレクトされなかったかのように、404で要求されたURLをアドレスバーに表示したいと思います。

モデルの例をいくつか示します。

http://us.battle.net/wow/en/22222222222222222222

http://en.wikipedia.org/wiki/222222222222222222222

これらのページは、実際には「domain.com/index.php?page=2222222222222222222222」のようなURLリライターを使用しているだけですか?もしそうなら、彼らはそれがなんとかしてエラーページとしてマークすることなく、それが404ページであることを示さずにテキストを印刷するだけですか?

彼らはヘッダーで何かを送信している必要があります。+1ボタン用のChrome拡張機能を持っていますが、リストされているページに移動すると、「このページを+1できません」というエラーが表示されます。

ここで使用されている「フラグ」を知っている人はいますか?

4

1 に答える 1

0

はい、ページが存在しないと判断するプリプロセッサを使用してHTTPステータスコードを送信できます。たとえば、PHPでは次のように使用します。

header('HTTP/1.1 404 Page Not Found');

これにより、表示するカスタム404ページとともに404ヘッダーが送信されます。これは、任意のHTTPステータスコードを使用して行うことができます。独自のコードを作成することもできます(ただし、おそらく認識されません)。

header('HTTP/1.1 418 I'm a Teapot');

.htaccessファイルでApacheのErrorDocument定義を使用する場合、定義されたページでヘッダーを変更したり(PHPファイルの実行など)、新しいページにリダイレクトしたりしない限り、エラーコードを維持する必要があります。プレーンテキストおよび/または(おそらく)HTMLファイルを使用すると、404ヘッダーが保持されます。HTMLファイルでテストしたことはありません。

于 2011-11-11T01:29:06.457 に答える