簡體   English   中英

Laravel 4:為分頁和表單設置正確的方案和域

[英]Laravel 4: setting correct scheme and domain for pagination and form

這可能是我的疏忽,但我想知道設置默認 pagenate 基本 url 的正確方法是什么。

我們的域在https://domain.com ,我們已經設置了 config app.url ,但是在視圖中生成 url 時,分頁似乎仍然使用http://domain.com (注意該方案是http而不是https ) . 我想知道如何在不到處寫setBaseUrl情況下做到這一點。

(我們使用的是 Laravel 4.1)

更新:我們也遇到了與Form::open相同的問題,讓 Laravel 意識到我們想要使用https而不是http url 的設置在哪里? 不應該使用app.url作為基本 url 嗎?

自己找出答案:

由於我們的服務器在反向代理(nginx)之后,而內容作為 HTTPS 提供,代理是通過 HTTP 完成的,因此我們應該在 nginx 配置中設置以下內容:

proxy_set_header X-Forwarded-Proto  $scheme; //or just `https`

(與您的proxy_pass upstream塊相同)

然后我們可以使用信任代理功能:

$proxies = Config::get('app.trusted_proxies');

// trust any balancer
if ($proxies === '*')
{
    $proxies = array( Request::getClientIp() );
}

// else trust an array of IPs
if ($proxies && is_array($proxies))
{
    Request::setTrustedProxies($proxies);
}

(這可以添加到bootstrap/start.php 。Laravel 使用 Symfony 請求庫,這就是我們鏈接到他們的文檔的原因,因為該功能未在 Laravel 文檔中記錄)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM