質問: インデックス以外のすべてを410としてリダイレクトするにはどうすればよいですか? サイトがシャットダウンし、ユーザーに410リダイレクトを行う必要があります。同じドメインに小さな1ページの置換サイトが設定されており、カスタム410エラーページがあります。新しいindex.htmlを指すフロントページを除き、すべてのページビューが410で応答され、エラーページにリダイレクトされるようにします。。htaccessの内容は次のとおりです。rewriteengine on rewritecond %{request_filename} !-f rewriterule !^index\.html$ index.html [l,r=410] これは、1つのことを除いて機能します:ドメイン名を入力すると、410ページが表示されます。www.example.com/index.htmlを使用すると、インデックスページが表示されますが、www.example.comだけで410になります。これを修正するにはどうすればよいですか。
回答: maintenance.html(または選択したサーバー側言語に必要なファイル拡張子)と呼ばれるページを作成し、次のコードを使用します。<ifmodule mod_rewrite.c> rewriteengine on rewritecond %{request_uri} !/maintenance.html$ [nc] rewritecond %{request_uri} !\.(jpe?g?|png|gif) [nc] rewriterule .* /maintenance.html [r=410,l] </ifmodule> これは、ブラウザでどのページをリクエストしたかに関係なく、常にmaintenance.htmlを表示します。