2017-09-16 68 views
1

我想在登录后重定向到该网址:自定义重定向后登录表单在symfony的3

http://localhost/ekarhabty/web/app_dev.php/Plateforme/E-commerce/commande/coordonnees 

这是我Security.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> 

但是这将产生像URL:

/ekarhabty/web/app_dev.php/Plateforme/E-commerce/commande/coordonnees

而且我得到这个错误后提交: 未找到路线“GET /ekarhabty/web/app_dev.php/Plateforme/ E- 电子商务/ COMMANDE /干邑生产商”(从 “http://localhost/ekarhabty/web/app_dev.php/Plateforme/E- 商业/ COMMANDE /登录”

编辑: 这是我的routing.yml文件

login_commande: 
    path:  /commande/login 
    defaults: { _controller: EKEcommerceBundle:Commande:loginCommande } 

coordonnees_commande: 
    path:  /commande/coordonnees 
    defaults: { _controller: EKEcommerceBundle:Commande:coordonnees } 
+0

您能否展示路线如何定义路线“coordonnees_commande”? –

+0

我编辑了我的答案,你可以检查它 – Sabra

回答

1

你Symfony和路由运行的C orrectly。

会被重定向到错误的地方,因为你有Symfony的从子文件夹/ekarhabty /网络运行。这里有几种解决方案:

  1. (reccomended)部署的Symfony的方式,即“网络”文件夹是服务器的文档根目录,所以为symfony1.2的URL看起来像“HTTP:// {您。域}} /app_dev.php“之前没有任何文件夹”app_dev.php“。
  2. 使用“url()”而不是“path()”来生成路径。但是只有当前情况得到解决,将来可能会出现许多类似的问题。
+0

非常感谢,你救了我的一周:D;)。我用url替换路径,它的工作原理:D。 – Sabra

+0

欢迎您:) –