apacheの.htaccessでindex.html等がない形のURLへリダイレクトする
PR
index.htmlやindex.phpへアクセスがあった時に、URLが https://9-bb.com/index.html で表示せずに index の部分がない形のURL https://9-bb.com/ へとリダイレクトするようにする htaccess での設定方法です。.htaccess でのindex部分を無くす方法はよく紹介されているのですが 汎用的に使えない方法がよく紹介されていて開発環境からの移行の時に修正する手間がでるのでもっとスマートな利用方法を今回は紹介したいと思います。
.htaccess でindexページの表示をコントロールする
.htaccess に以下のように記述する
RewriteCond %{THE_REQUEST} ^.*/index\.php RewriteRule (.*)index\.php$ http://%{HTTP_HOST}/$1 [R=301,L]
%{HTTP_HOST} のところが良くみるケースではそのままのURLを記述している事が多いのですが %{HTTP_HOST} を使うことで 例えば https://9-bb.com/index.php へとアクセスしていたら 9-bb.com っていう部分が自動的に解釈されて https://9-bb.com/ へと移動することになる。
上の例では php ファイルの例ですが html なら php の部分を html に変え。https の場合だったら http の部分を https に変えればOKです。
これで、開発環境での .htaccess をそのまま本番環境にも使えるので うっかりリダイレクト先のURLが違ってたって事を防げる。
PR
COMMENT