フォノクラフト株式会社:作業メモや備忘録など

作業メモや備忘録など…

[ec-cube] ページ詳細設定から追加した新規ページのURLの「/user_data/」を排除する

without comments

EC-CUBEの管理画面『デザイン管理 > PC > ページ詳細設定』で新規追加したページのURLを.htaccessで操作する。

1.「/user_data/」ディレクトリ排除

URLの「/user_data/」ディレクトリを排除するだけなら

.htaccessの記述

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z0-9\-\_\.]+).php user_data/$1.php [L]

結果例

 http://○○○○.co.jp/user_data/test.php
 ↓
 http://○○○○.co.jp/test.php

2.任意のディレクトリ直下にあるように見せかける

URLの「/user_data/」ディレクトリを排除しつつ拡張子.phpを「/」に変えて、
任意のディレクトリ直下にある様に見せかける

.htaccessの記述

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z0-9\-\_\.]+)/ user_data/$1.php [L]

結果例

 http://○○○○.co.jp/user_data/test.php
 ↓
 http://○○○○.co.jp/test/

ご注意

任意のディレクトリ直下にある様に見せかける場合には、
/products/、/cart/ 、/contact/ 、/abouts/、/order/、/guide/ 、/admin/ 等、
あらかじめ予約されているディレクトリ名は使わない様にしましょう。

また、正規表現で『 [a-z0-9\-\_\.] 』としていますが、
これはファイル名に「半角英数字」の他に「ハイフン(-)」「アンダーバー(_)」「ドット(.)」も認識する、
という事を意味しています。