Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Laravel Redirect All Requests To NON-HTTPS

Tags:

php

ssl

laravel

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());
    }
like image 333
jsorbo Avatar asked Aug 21 '26 00:08

jsorbo


1 Answers

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

like image 193
Pᴇʜ Avatar answered Aug 22 '26 13:08

Pᴇʜ