要望や症状
EC-CUBEで構築したサイトを新しいドメインで公開する際に、どのような設定変更が必要かわからない場合があります。既存のサイトを新しいドメインに移行したい時や、開発環境から本番環境への移行時に、適切な設定手順が不明な状況が発生する可能性があります。
理由や原因
EC-CUBEは運用ドメインに関連する設定を.envファイルに保持しており、ドメイン変更時にはこれらの設定を適切に更新する必要があります。主な設定項目として、TRUSTED_HOSTSはセキュリティ対策として許可するホスト名を正規表現で指定する設定で、ECCUBE_COOKIE_PATHはCookieの有効範囲を示すパス設定です。また、データベースやソースコード内に旧ドメインがハードコーディングされている可能性もあります。
解決策
.envファイルの設定変更
最初にEC-CUBEルートディレクトリの.envファイルを編集します。
TRUSTED_HOSTSの設定
コメントアウトを解除し、新ドメインを正規表現で指定します。
# コメントアウトを解除し、新ドメインを正規表現で指定
TRUSTED_HOSTS=^new-domain\.com$
ECCUBE_COOKIE_PATHの設定
ドメインのドキュメントルートを指定します(通常は/)。
# ドメインのドキュメントルートを指定(通常は/)
ECCUBE_COOKIE_PATH=/
追加確認作業
設定変更後は以下の追加確認作業を行ってください。
データベース内の旧ドメイン検索
データベース内に旧ドメインが残っている可能性があるため、以下のSQLで確認します。
-- 全テーブルから旧ドメインを検索(例)
SELECT * FROM dtb_base_info WHERE shop_url LIKE '%old-domain.com%';
ソースコード内の旧ドメイン検索
プロジェクトルートで以下のコマンドを実行して、ソースコード内の旧ドメインを検索します。
# プロジェクトルートで実行
grep -r "old-domain.com" . --exclude-dir=vendor
プラグイン設定の確認
管理画面からプラグイン設定を確認し、外部API連携設定の更新を行います。ドメインに依存する設定が含まれている場合は、新しいドメインに合わせて更新してください。
注意事項
.envファイル編集前は必ずバックアップを作成してください。TRUSTED_HOSTSは正規表現での指定が必要で、これはセキュリティ対策として重要です。設定変更後は必ずキャッシュクリアを実行して、変更を反映させてください。