2013-12-16 48 views
3

我想在我的网站使用HTTPS所有环节的路线执行HTTPS;但是我不能(由于非技术原因)强制用户使用HTTPS。因此,我想通过Laravel产生的所有URL与“HTTPS”作为前缀,但我不想Laravel抛出一个异常,如果用户在“HTTP”访问的URL。Laravel 4:获取URL ::路线回报HTTPS URL没有

我有以下的路线设置:

Route::get('dashboard', [ 'uses'=>'[email protected]' ]); 

谁能告诉我怎么去URL::route('dashboard')返回URL的HTTPS版本,而无需重写我的路线为:

Route::get('dashboard', [ 'https', 'uses'=>'[email protected]' ]); 

还是怎么写我的路线按照第二个例子,而不是抛出一个异常,如果然后在“HTTP”访问?

+0

我会使用mod_rewrite http://stackoverflow.com/questions/4398951/force- ssl-https-using-htaccess-mod-rewrite – Dave

+0

对不起 - 确认我没有试图阻止用户通过HTTP访问网站 - 我试图改变URL :: route的响应,使它返回一个安全链接,而不添加“https”作为路由参数。 – Neil

+0

嘿尼尔,我同意。我需要知道如何强制网址::航线创建安全的链接,因为我们的负载均衡器做HTTPS,然后将请求传递给我们的标准的HTTP服务器。这里的评论不回答这个问题。希望有人能帮助! – Artistan

回答

1

对于开创了URL::route一个laravel刀片视图的HTTPS连接,只需使用:URL::secure()

http://cheats.jesse-obrien.ca/#urls

URL::secure('foo/bar', $parameters); 
URL::secureAsset('css/foo.css'); 
URL::to('foo/bar', $parameters, $secure);