htaccessファイルを使って、index.htmlなしに統一する
例えば、
- ステージング環境(開発用環境)のURL
- 本番環境のURL
があったとすると、htaccessファイルを使って、index.htmlなしに統一するには
ステージング環境(開発用環境)用の.htaccess
RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://www.test.sample/$1
本番環境用の.htaccess
RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://www.honban.sample/$1
.htaccessでの設定が、本番環境と開発環境とテスト環境で違うことがあるため、
環境に合わせて、2つのファイルを作成する必要がある。
本番と開発でファイルの内容が違うと、ソース管理が面倒。
本番環境を設定するつもりで間違って、ステージング環境(開発用環境)のURLを
入れてしまったら、やっかいになる。
同じ記述で済ませることはできないか。
そこで、接続要求しているホスト名を取得する環境変数「HTTP_HOST」を利用することで
上記の問題を解決することが出来る。
#indexなしに統一 RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://%{HTTP_HOST}/$1 [R=301,L]
環境変数をうまく利用しておけば、どの環境でも使えますね。