繁体   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