EC-CUBE3のサイトURLから「index.php」を取り除く方法

EC-CUBE3のサイトURLから「index.php」を取り除く方法

EC-CUBE3のサイトURLから「index.php」を取り除く方法

さくらインターネットにインストールしているEC-CUBEのURLが、トップページは「http://ドメイン名/index.php」、カテゴリーページは「http://ドメイン名/index.php/products/list?category_id=1」という感じで、URLの中にindex.phpを入れないとサイトが機能していませんでした。明らかに「index.php」が邪魔ですよね…

.htaccessに1行追加するだけで、URLから「index.php」を取り除き、「http://ドメイン名/」や「http://ドメイン名/products/list?category_id=1」などにアクセスできるようになりましたので、その方法をご紹介したいと思います。

EC-CUBE3でサイトURLからindex.phpを取り除く方法

EC-CUBE3のサイトURLから「index.php」を取り除くには、EC-CUBEがインストールされているフォルダにある.htaccessを編集します。


<IfModule mod_rewrite.c>
RewriteEngine On

# Authorization ヘッダが取得できない環境への対応
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !^(.*)\.(gif|png|jpe?g|css|ico|js|svg)$ [NC]
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

上記のような記述があるかと思いますので、「RewriteEngine On」のすぐ下に「RewriteBase /」を追加します。


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# Authorization ヘッダが取得できない環境への対応
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !^(.*)\.(gif|png|jpe?g|css|ico|js|svg)$ [NC]
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

これだけで、サイトURLから「index.php」を取り除くことができます。

あとがき

同じような現象で困っていたら、ぜひ参考にしていただければと思います。

なお、EC-CUBE3のサイトURLから「html」を取り除く方法も過去に紹介していますので、よかったらチェックしてみてください。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です