laravel使用http而不是https服务页面
我有一个这样的过滤器laravel使用http而不是https服务页面,laravel,laravel-4,laravel-routing,Laravel,Laravel 4,Laravel Routing,我有一个这样的过滤器 if( ! Request::secure()) { return Redirect::secure(Request::path()); } 这个过滤器使我的站点的每一条路由都通过https提供服务,这很好,除了一种情况。我有一个路由,它提供来自第三方服务器(可以嵌入)的内容。这些可嵌入的内容都是http 我只想使用http而不是https来服务这个路由。有没有办法,我可以用laravel做到这一点 谢谢您可以使用Request::url(
if( ! Request::secure())
{
return Redirect::secure(Request::path());
}
这个过滤器使我的站点的每一条路由都通过https提供服务,这很好,除了一种情况。我有一个路由,它提供来自第三方服务器(可以嵌入)的内容。这些可嵌入的内容都是http
我只想使用http而不是https来服务这个路由。有没有办法,我可以用laravel做到这一点
谢谢您可以使用
Request::url()
为了以不同方式处理管线,可以使用如下管线定义:
Route::group(["before" => "test"], function()
{
Route::get('path/to/route', array('as' => 'routeName', 'uses' => 'routeController@doSomething'));
});
然后在filters.php
文件中,您可以添加:
Route::filter('test', function()
{
if( Route::currentRouteName() == 'routeName')
{
return Redirect::to('http://example.com');
}
});
有关命名路线的更多信息,请参见此处:对不起,我没有以适当的方式写下我的问题。我现在已经做到了。我想知道的不是一个页面(我之前已经说过),而是我是否可以将Http仅用于这一条路由而不是整个网站。我再次道歉。我也这么做了。。但在my filters.php中,Route::currentRouteName为null。因此,我认为如果循环不被尊重!是 啊我所想的结果是真的。我最终尝试了指定的方法,但没有成功。很抱歉,您必须先将路由嵌入过滤器中。我已经更新了我的答案,并在这里做了一个快速成功的测试。不,对我不起作用。我现在得到一个methodnotfound异常,而协议仍然是httpsOk,它在我这边工作,但我可能有一个不同的设置。我再次编辑了我的答案,以关注您想要重定向的一条路线。但这实际上是一种获取外部内容的复杂方法。您可能只想在代码中使用URL('http://example.com/bar)
。对于所有编辑,请不要反对更改。必须做出改变。因为页面不是正确的术语,而路由是。谢谢
Route::filter('test', function()
{
if( Route::currentRouteName() == 'routeName')
{
return Redirect::to('http://example.com');
}
});