2016-03-03 97 views
0

我在Symfony 2中使用PRG模式以避免在單擊後退按鈕後顯示「確認表單重新提交」頁面。 /而當網站(生產)是https://開頭這種模式不工作和「確認重新提交表單」再次出現:(Symfony 2 Post/Redirect /獲取模式重定向到HTTPS問題

基本上我有版面A,B,C

一個:表格

B:處理表格並將303重定向到C

C:顯示一些頁面

我做重定向在Symfony的是這樣的:

return $this->redirect('confirmation', 303); 

,並在路線的所有動作我包括:

schemes="https", host="%secured_host_name%" 

我如何可以重定向使其在HTTPS://上工作?

+0

哎,你檢查我回答?你解決了你的問題? –

回答

0

Since redirects are using absolute URIs, one has to take care about proxy servers (HTTP->HTTPS) and reverse proxy servers. If your application is such that a user uses an SSL tunnel to reach your site, this can cause problems also. (You may be able to use the Referer header to discover the domain and port the user is actually entering.)

解決方法:添加您的代理trusted_proxies在框架配置:

# app/config/config.yml 
# ... 
framework: 
    trusted_proxies: [192.0.0.1, 10.0.0.0/8] 

,或者如果你不知道你的代理IP:

// web/app.php 

// ... 
Request::setTrustedProxies(array('127.0.0.1', $request->server->get('REMOTE_ADDR'))); 

$response = $kernel->handle($request); 
// ...