laravel使用http而不是https来提供页面

时间:2014-07-25 05:18:02

标签: laravel laravel-4 laravel-routing

我有一个像这样的过滤器

if( ! Request::secure())
    {
        return Redirect::secure(Request::path());
    }

此过滤器使我的网站的每条路线都通过https提供,这很好,除了一个案例。我有一个路由,它提供来自第三方服务器(可以嵌入)的内容。这些可嵌入的内容都是http。

我想使用http而不是https来提供此路线。有没有办法,我可以用laravel做到这一点。

谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用Request::url()

if(( ! Request::secure()) && (Request::url() !== '/your/single/page'))
{
    return Redirect::secure(Request::path());
}

答案 1 :(得分:0)

为了以不同方式处理路线,您可以使用如下路线定义:

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://laravel.com/docs/routing#named-routes