EC-CUBEの管理画面から新規ページを作成すると、URLに /user_data/ が入ります。この部分は設定ファイルの1行で変更でき、店舗に合った文字列にできます。4系と3系で設定の場所が違うので、両方の手順をまとめます。
EC-CUBE4は.envのECCUBE_USER_DATA_ROUTEを変更する
4系ではEC-CUBEを設置したディレクトリ直下の .env に次の項目があります。
ECCUBE_USER_DATA_ROUTE=user_data
この user_data の部分を変更すると、新規ページのURLが変わります。たとえば page にすると https://example.com/page/url1 という形になります。
.env に記載がない場合は、app/config/eccube/packages/eccube.yaml の既定値(user_data)が使われています。.env に行を追加すれば、そちらが優先されます。
使える文字は英数字とアンダースコアです。日本語やスラッシュを含む文字列は指定できません。
EC-CUBE3はpath.ymlを変更する
3系は設定ファイルの場所が異なります。app/config/eccube/path.yml を開いてください。
# routing
user_data_route: user_data
user_data_route に続く部分を書き換えます。3系ではルーティング情報がキャッシュされているため、変更後にキャッシュクリアを行ってください。
既存ページのURLは変わるので注意する
この設定はサイト全体に適用されます。すでに公開している新規ページのURLも一斉に変わります。
公開後のサイトで変更する場合は、次の点を確認してください。
- 変更前のURLが検索エンジンにインデックスされている場合、そのままでは404になります。リダイレクトの設定を検討してください
- サイト内から旧URLへリンクしている箇所(バナー・ヘッダー・フッター・お知らせの本文など)は、個別に修正が必要です
- 外部サイトやSNSに貼られたリンクは、こちら側では修正できません
新規構築の段階で決めておくのが理想です。運用中のサイトで変えるなら、影響範囲を洗い出してから作業してください。
user_dataを完全に削除したい場合
「/user_data/ を消して https://example.com/url1 にしたい」という要望はよくいただきます。
ただし、URLからこの階層を完全に取り除くには、コントローラの修正を含む複雑なカスタマイズが必要です。EC-CUBEの基本的な設計から外れるため、プラグインとの競合や不具合を招きやすく、弊社ではおすすめしていません。
代わりに、user_dataを経由せず自由なURLでページを追加する方法があります。手順はたった3ステップで新規ページを追加する方法 (user_dataなし)にまとめています。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。