2014-09-23 107 views
3

有很多询问如何使Laravel请求HTTPS的问题,但你怎么让它HTTPS。我想确保所有不是订单页面的页面都不是SSL。基本上与Redirect :: secure相反。Laravel重定向所有请求NON-HTTPS

//in a filter 

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

这可能会很晚,但它可能有助于未来的访问者。看看[这个答案](http://stackoverflow.com/a/26875905/1903366) – lukasgeiter 2014-11-11 22:42:52

回答

1

试试这个 //在过滤器

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

可能这会帮助你。

+0

Thx为响应。但是我尝试过,它仍然重定向到https。它会创建一个重定向循环。 – jsorbo 2014-09-24 01:29:28

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' => '[email protected]', 
)); 

路线如果你打开https://example.app/your_no_ssl_url你会过滤解决它被重定向到http://example.app/your_no_ssl_url