如果HTTPS已激活,Laravel会请求HTTP

时间:2014-11-11 22:32:09

标签: php ssl laravel filter routes

所以我遇到了一个问题,在大多数页面上我们都需要用户使用SSL。因此,我们使用以下代码来强制用户进入SSL模式。

//secure app route
Route::filter('force.ssl', function()
{
    if( ! Request::secure())
    {
        return Redirect::secure(Request::path());
    }

});

然而,这在两个特定页面上完美地工作,用户必须处于http模式(外部服务器不接受https请求的问题)。如何以相反的方式应用相同的逻辑?我假设这样的东西,但重定向不安全?

//secure app route
Route::filter('force.nossl', function()
{
    if(Request::secure())
    {
        return Redirect::unsecure(Request::path());
    }

});

1 个答案:

答案 0 :(得分:5)

Redirect::to标记设置为$secure

的情况下,尝试false
return Redirect::to(Request::path(), 302, array(), false);

Redirect::secure只是一个调用Redirect::to的快捷方式,最后一个参数设置为true