2014-07-25 2 views
0

У меня есть фильтр, как этотLaravel служат страницы, используя HTTP вместо HTTPS

if(! Request::secure()) 
    { 
     return Redirect::secure(Request::path()); 
    } 

этот фильтр делает каждый маршрут моего сайта, чтобы быть подан через HTTPS, что хорошо, за исключением одного случая. У меня есть маршрут, который обслуживает контент с сторонних серверов (которые могут быть встроены). Вложенное содержимое - это все http.

Я хотел бы обслуживать только этот маршрут, используя http вместо https. Есть ли способ, я могу сделать это, используя laravel.

благодарит

+0

Чтобы все редакторы, пожалуйста, не одобряете изменения. изменение должно быть сделано. поскольку страница не является правильной терминологией во время маршрута. спасибо – Gagan

ответ

0

Вы можете использовать Request::url()

if((! Request::secure()) && (Request::url() !== '/your/single/page')) 
{ 
    return Redirect::secure(Request::path()); 
} 
+0

Прошу прощения - я не выполнил свой вопрос соответствующим образом. Я сделал это сейчас. Вместо страницы (о которой я говорил ранее) мне интересно, могу ли я использовать Http только для этого одного маршрута вместо всего веб-сайта. еще раз, извиняюсь. – Gagan

0

для того, чтобы маршрут быть обработаны по-другому, вы можете использовать определение маршрута, как это:

Route::group(["before" => "test"], function() 
{ 
    Route::get('path/to/route', array('as' => 'routeName', 'uses' => '[email protected]')); 
}); 

, а затем в вашей filters.php файл можно добавить:

Route::filter('test', function() 
{ 
    if(Route::currentRouteName() == 'routeName') 
    { 
     return Redirect::to('http://example.com'); 
    } 
}); 

Более подробную информацию по названным маршрутам можно найти здесь: http://laravel.com/docs/routing#named-routes

+0

сделал это также .. но в моих фильтрах.php Маршрут :: currentRouteName имеет значение null. поэтому я думаю, что если цикл не будет соблюден! – Gagan

+0

да .. то, что я думал, оказалось правдой. В конце концов я попытался выяснить, что было указано, но это не сработало. – Gagan

+0

Приносим извинения, вы должны сначала внедрить маршрут в фильтр. Я обновил свой ответ и сделал быстрый успешный тест здесь. – lowerends

Смежные вопросы