リダイレクト先のURLはどこで指定されているのか?

ログイン後、ログアウト後のリダイレクト先の指定は、app/config/eccube/packages/security.yaml に指定があります。次の場所でhomepageと記載されている部分がリダイレクト先です。

ログイン後:security.firewalls.customer.form_login.default_target_path

ログアウト後:security.firewalls.customer.logout.target

form_login:
    enable_csrf: true
    check_path: mypage_login
    login_path: mypage_login
    default_target_path: homepage
    username_parameter: 'login_email'
    password_parameter: 'login_pass'
    use_forward: false
    success_handler: eccube.security.success_handler
    failure_handler: eccube.security.failure_handler
login_throttling:
    max_attempts: '%eccube_login_throttling_max_attempts%'
    interval: '%eccube_login_throttling_interval%'
logout:
    path: logout
    target: homepage

「homepage」というのは、src/Eccube/Controller/TopController.phpで指定されているトップページのルート名(URLにつけられた名前のようなもの)です。

商品一覧ページに飛ばしたいならproduct_listと書けますし、マイページに飛ばしたいならmypageと書けます。

ルート名ではなくURLも指定可能?

ルート名で指定が難しい場合は、スラッシュから始めることでサイト内のパスを指定することもできます。

次のように書けばログイン後、/testというパスにリダイレクトします。

default_target_path: ‘/test’

Customizeディレクトリでもカスタマイズできる?

元のファイルを修正したくない場合は、Customizeディレクトリのservices.yamlに書くことで、挙動を変更できます。
security.ymlの変更したい部分だけを抽出して次のように書いてください。

ログアウト後に商品一覧ページにリダイレクトする書き方

app/Customize/Resource/config/services.yaml

security:
  firewalls:
    customer:
      logout:
        target: product_list
日本発!ECオープンプラットフォーム「EC-CUBE」 EC-CUBEゴールドパートナー EC-CUBEは株式会社イーシーキューブの商標です

EC-CUBEカスタマイズに関するお問い合わせはこちら


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ