ディレクトリのindexファイル(「index.html」など)をDirectoryIndexディレクティブで指定している場合、ディレクトリへアクセスするとindexファイルの内容が返されますが、その一方でindexファイルに対しても直接アクセスできてしまい、結果的に同じコンテンツを返すURLが2つ存在してしまいます。
この状態はコンテンツの管理上あまりよい設計とは言えず、2つのURLをなるべく短い方(=ディレクトリの方)に揃えることが望ましいです。
このページでは、このindexファイルへの直接アクセスをディレクトリにリダイレクトする方法について説明します。
indexファイルへのアクセスをディレクトリにリダイレクトし、尚且つディレクトリへのアクセス時にindexファイルの中身を返すには、RewriteEngineを利用します。
(DirectoryIndexとRedirectMatchディレクティブの組み合わせではうまくいかないので、注意してください。)
DirectoryIndex index.html RewriteEngine On RewriteRule ^(.*)/index.html$ https://www.kishiro.com$1/ [R=301,L]
上記の通り設定が完了したら、設定を反映させるためにapacheを再起動させます。
apacheの再起動方法については、「コマンドラインからapacheを起動/停止/再起動する」を参照してください。
これにより、任意のディレクトリ内の「index.html」へアクセスした際に、そのディレクトリへのリダイレクト(HTTP 301 Moved Permanently)として返します。
・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。
まだ評価がありません |
表示できるメッセージはありません。