2011-11-10 10 views
1

+』することはできません非リダイレクトページで404年代の取り扱い。問題はそれがないすべてがちょうどそれらをリダイレクトされている。はerror.php 『「私は.htaccessのカスタムエラーページを使用しています+1

ユーザーがリダイレクトされなかったかのように私の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できません」というエラーが表示されます。

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

+0

これらのページは404ですが、あなたはそれらのページを「+1」できないと思います。 – malletjo

+0

私のerror.php _can_は+1できますので、何か不足しています... – Destructerator

+0

Chromeを使用している場合は、開発者ツールを引き出すことができます。 「ネットワーク」では、レスポンスコードを検査することができます。これらのケースでは404です。 – martincho

答えて

0

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

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

これは表示したいカスタム404ページと一緒に404ヘッダを送信します。これは任意のHTTPステータスコードで行うことができ、独自のものを作ることもできます(おそらく認識されません)。あなたの.htaccessファイルにApacheのErrorDocument定義を使用している場合

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

は、それはあなたが(たとえば、PHPファイルを実行しているとして)定義されたページでのヘッダーを変更しない限り、エラーコードを維持するかにリダイレクトする必要があります新しいページ。プレーンテキストやHTMLファイルを使用すると、404ヘッダーが保持されます。私はHTMLファイルでそれをテストしたことがありません。

+0

Chromeは、自分のカスタムErrorDocumentにそのプリプロセッサを追加しようとすると、私のページがリダイレクトループにあると思っています。クライアントが無効な$ _GETものを送信したときに、URLの書き換えを使用してPHPページにヘッダーを「エラー」コンテンツと共に送信させることにします。これは、もともとやっていたことかもしれません。 404のヘッダーと一緒にページの内容を送信できるかどうかわかりませんでしたが、ブラウザがそれを取得したら読み込みを中止すると思いました。 – Destructerator

関連する問題