jsorbo
jsorbo

Reputation: 61

Laravel Redirect All Requests To NON-HTTPS

There are lots of questions asking how to make a Laravel request HTTPS, but how do you make it NON HTTPS. I'd like to make sure all the pages that are not the order page, are not SSL. Basically the opposite of Redirect::secure.

    //in a filter

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

Upvotes: 3

Views: 3057

Answers (2)

Pᴇʜ
Pᴇʜ

Reputation: 57683

I solved it with a filter that I map to all routes I need to make non SSL

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

Example for a route with non SSL only

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

If you open https://example.app/your_no_ssl_url you will be redirected to http://example.app/your_no_ssl_url

Upvotes: 2

justrohu
justrohu

Reputation: 589

try this //in a filter

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

May be this will help you.

Upvotes: 1

Related Questions