Php Laravel 4:为分页和表单设置正确的方案和域
这可能是我的疏忽,但我想知道设置默认pagenate基本url的正确方法是什么 我们的域名位于Php Laravel 4:为分页和表单设置正确的方案和域,php,laravel,laravel-4,Php,Laravel,Laravel 4,这可能是我的疏忽,但我想知道设置默认pagenate基本url的正确方法是什么 我们的域名位于https://domain.com我们已经设置了configapp.url,但是分页似乎仍然使用http://domain.com(注意,在视图中生成url时,方案是http,而不是https)。我想知道如何在不到处写setBaseUrl的情况下做到这一点 (我们使用的是Laravel 4.1) 更新:我们在表单::open中也遇到了同样的问题,使Laravel意识到我们希望url使用https而不是
https://domain.com
我们已经设置了configapp.url
,但是分页似乎仍然使用http://domain.com
(注意,在视图中生成url时,方案是http
,而不是https
)。我想知道如何在不到处写setBaseUrl
的情况下做到这一点
(我们使用的是Laravel 4.1)
更新:我们在
表单::open
中也遇到了同样的问题,使Laravel意识到我们希望url使用https
而不是http
?它不应该使用app.url
作为基本url吗?自己找出答案:
由于我们的服务器位于反向代理(nginx)后面,而内容作为HTTPS提供,代理是通过HTTP完成的,因此我们应该将以下内容设置为nginx配置:
proxy_set_header X-Forwarded-Proto $scheme; //or just `https`
(与上游的proxy\u pass
块相同)
然后我们可以使用如下功能:
$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文档中没有记录此功能)