.htaccessでindex.phpを/スラッシュのみにリダイレクト

よく、.htaccessで/index.htmlなどのURLを/以降ないURLに
統一するためのリダイレクトを使うのが、それが原因で不具合…後述。

http://abc.com/index.html →  http://abc.com/
http://abc.com/index.php →  http://abc.com/

こういった場合は、/index.htmlと/のみがどちらでも同じページに
アクセスされるので、/のみに統一するために.htaccessに

RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php?\ HTTP/
RewriteRule ^(.*)index\.php?$ http://ec-cube.webtex.jp/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.html?\ HTTP/
RewriteRule ^(.*)index\.html?$ http://ec-cube.webtex.jp/$1 [R=301,L]

と記述して、どちらかに統一することが多い。

コレをEC-CUBEのインストールしてあるドメイン直下に設定してみたのだが、いろいろなエラーが発覚。やらない方が良い。

  1. オーナーズストアの購入商品一覧を取得するが無反応
  2. デザイン管理でブロックのレイアウト設定が不可能に

などの不具合があったので、.htaccessのindex.html省略方法は辞めた方がいいですね。まだまだ不具合エラーはありそうなので、EC-CUBEインストールサイトではやらないこと。

.htaccessでindex.phpを/スラッシュのみにリダイレクト” への1件のコメント

  1. ピンバック: .htaccessリダイレクトで特定URLや/index.phpだけ301リダイレクト | EC-CUBEカスタマイズ Blog

コメントは受け付けていません。