Php 在symfony 3中表单登录后自定义重定向

Php 在symfony 3中表单登录后自定义重定向,php,symfony,path,Php,Symfony,Path,我想在登录后重定向到此url: http://localhost/ekarhabty/web/app_dev.php/Plateforme/E-commerce/commande/coordonnees 这是我的安全。yml: form_login: login_path: fos_user_security_login check_path: fos_user_security_check always_use_default_t

我想在登录后重定向到此url:

http://localhost/ekarhabty/web/app_dev.php/Plateforme/E-commerce/commande/coordonnees
这是我的安全。yml:

 form_login:
          login_path: fos_user_security_login
          check_path: fos_user_security_check
          always_use_default_target_path: false
          default_target_path:   Accueilpage
          target_path_parameter: go_to
          failure_path_parameter: back_to
这是我的小枝文件:login.html.twig:

   <form action="{{ path("fos_user_security_check") }}" method="post">
      {% if csrf_token %}
      <input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />
      {% endif %}
     <label for="username"> Email ou Identifiant <span class="required">*</span></label>
     <input type="text" id="username" name="_username" value="{{ last_username }}" required="required"  class="form-control"/>

      <label for="password">Mot de passe <span class="required">*</span></label>
       <input type="password" id="password" name="_password" required="required" class="form-control"/>
       {% if error %}
       <div> 
       <b style="color:red">{{ error.messageKey|trans(error.messageData, 'security') }}</b>
        </div>
        {% endif %}

        <p class="forgot-pass"><a href="{{path('fos_user_resetting_check_email') }}">Mot de passe oublié ?</a></p>
        <input type="hidden" name="go_to" value="{{ path('coordonnees_commande') }}" />
         <input type="hidden" name="back_to" value="{{ path('login_commande') }}" />
         <button type="submit" class="button" id="_submit" name="_submit" value="" /><i class="fa fa-lock"></i>&nbsp; <span>Se connecter</span</button>
    </form>

您的Symfony和布线工作正常

您被重定向到错误的位置,因为您从子文件夹/ekarhabty/web运行Symfony。这里有几个解决方案:

  • (推荐)部署Symfony的方式是,“web”文件夹是服务器的文档根目录,因此Symfony的URL看起来像“http://{your.domain}/app_dev.php”,在“app_dev.php”之前没有任何文件夹
  • 使用“url()”而不是“path()”生成路由。但只有当前的情况得到解决,将来可能会有许多类似的问题

  • 你能展示一下如何为路线“coordonnees_commande”定义路线吗?我编辑了我的答案,你能检查一下吗。我用url替换了路径,它成功了:D。
    login_commande:
        path:     /commande/login
        defaults: { _controller: EKEcommerceBundle:Commande:loginCommande }
    
    coordonnees_commande:
        path:     /commande/coordonnees
        defaults: { _controller: EKEcommerceBundle:Commande:coordonnees }