Laravel将所有请求重定向到非HTTPS

时间:2014-09-23 06:43:39

标签: php ssl laravel

有许多问题询问如何制作Laravel请求HTTPS,但如何使其成为 NON HTTPS 。我想确保所有不是订单页面的页面都不是SSL。基本上与Redirect :: secure相反。

    //in a filter

    if( Request::path() != ORDER_PAGE && Request::secure()){
    //do the opposite of this:
    return Redirect::secure(Request::path());
    }

2 个答案:

答案 0 :(得分:2)

我用一个过滤器解决了这个问题,我将其映射到我需要进行非SSL的所有路径

Route::filter('prevent.ssl', function () {
    if (Request::secure()) {
        return Redirect::to(Request::getRequestUri(), 302, array(), false);
    }
});

仅限非SSL的路由示例

Route::get('/your_no_ssl_url', array(
    'before' => 'prevent.ssl',
    'uses'   => 'yourController@method',
));

如果您打开https://example.app/your_no_ssl_url,系统会将您重定向到http://example.app/your_no_ssl_url

答案 1 :(得分:1)

试试这个  //在过滤器中

if( Request::path() != ORDER_PAGE && Request::secure()){
//do the opposite of this:
return Redirect::to(Request::path());
}

可能这会对你有所帮助。