ウェブサイトから完全に削除するコンテンツがあります。これは完全に削除されるため、ステータスコード410を与える予定です。
PHPページでステータスコードを返すことができます
header( "HTTP/1.1 410 Gone" );
exit
または.htacccessで書き換えルールを使用して
RewriteRule ^deleted/ - [L,R=410]
ここまでははっきりしている。ただし、一部のページが利用できなくなった理由を説明するために、ユーザーを別のページにリダイレクトしたいと思います。
では、410コードの別のページへのリダイレクトは問題ありませんか?そのようなページ(検索エンジンがリダイレクトと見なす可能性のあるページ)にリダイレクトするのは混乱しているように感じるが、同時に410コードを与えるので、私は特にこれを求めています。
これに対する正しいアプローチは何ですか。助けてください。
では、410コードの別のページへのリダイレクトは問題ないのでしょうか?
リダイレクトは必要ありません。カスタム410エラードキュメントを定義します。
ErrorDocument 410 /error-docs/e410.php
以前と同じように、.htaccess
で410をトリガーします。
RewriteRule ^deleted/ - [G]
G
フラグはR=410
の単なるショートカットであり、L
フラグは必要ありません(これは、3xx以外のステータスコードを使用している場合に暗示されます)。
エラードキュメント/error-docs/e410.php
は、内部サブリクエストを使用して呼び出されます(外部リダイレクトはありません)。
e410.php
では、異なるURLに特定のメッセージを配信したい場合、410をトリガーしたURL(つまり$_SERVER['REDIRECT_URL']
)を調べることができます。
そのようなページ(検索エンジンがリダイレクトと見なす可能性があるページ)にリダイレクトするのは混乱しているように感じるので、私は特にこれを求めていますが、同時に410コードを与えています。
はい、それは混乱し、非効率的です。検索エンジンは最終的に410 Goneステータスを表示しますが、間接的に「機能」するはずです。しかし、これは非効率的です(2つの要求/応答)-3xxの後に410が続きます(2番目では、リダイレクトされた-応答)。エラードキュメントに「リダイレクト」する場合、最初に410をトリガーした最初のリクエストの詳細を調べることはできません。
参照: