やあみんな、apache について質問があります。再設計されたサイトがありますが、人々がブックマークしたり、検索エンジンから新しいドメイン名の下にある古いサイトに移動したりする可能性のある「古い」リンクをすべてキャプチャしたいと考えています。apache に 404 not found のみを古いサイトにリダイレクトさせるにはどうすればよいですか?
ティア、
J
やあみんな、apache について質問があります。再設計されたサイトがありますが、人々がブックマークしたり、検索エンジンから新しいドメイン名の下にある古いサイトに移動したりする可能性のある「古い」リンクをすべてキャプチャしたいと考えています。apache に 404 not found のみを古いサイトにリダイレクトさせるにはどうすればよいですか?
ティア、
J
まず、送信するステータス コードを決定する必要があります。404 ステータス コードとリダイレクトの両方を送信することはできません。
しかし、セスはすでに正しい方法であるErrorDocument
ディレクティブについて言及しています:
# local path
ErrorDocument 404 /local/path/to/error/document
# external URI
ErrorDocument 404 http://uri.example/to/error/document
ローカル パスを使用すると、404 ステータス コードが送信されます。絶対 URI を使用すると、302 ステータス コード (一時的なリダイレクト) が送信されます。
301 リダイレクトを送信する場合は、次のようにします。
Redirect 301 / http://new.example.com/
古いドメインはすべての応答をキャプチャし、ヘッダーの「場所」フィールドに新しいドメインを含む「301 永久に移動しました」応答を返す必要があります。404 は「見つからない」ことを意味し、この場合は厳密には当てはまりません。
@seth によって提案されたものと同様の別のオプションは、ハンドラーを追加して、何が起こるかをユーザーに説明し、オプションを提示するために使用できる静的な html ページを指すようにすることです。
メタ リダイレクトを含めて、数秒後に何もしない場合に自動的にリダイレクトされるようにすることができます。
どのオプションが最も効果的かは、実際にはあなた次第です。
ユーザーをリダイレクトする CGI に 404 ドキュメントを設定できます。
ErrorDocument 404 /cgi-bin/redirect-to-other.cgi