2017-09-16 97 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

歡迎您:) –