Как я могу получить Redirect :: away () Laravel для соблюдения протокола, указанного в URL?

У меня есть приложение Laravel 4.0, работающее по протоколу HTTPS, которое маскирует URL-адреса в панелях управления клиента, перенаправляя все удаленные перенаправления по одному маршруту. Я использую Redirect :: away () для обработки этих перенаправлений, но даже если строка URL-адреса указывает «http», он перенаправляет через https. Могу ли я применить протокол, указанный в URL-адресе?

2

Решение

Вы можете использовать Redirect :: to () вместо (https://github.com/laravel/framework/blob/4.0/src/Illuminate/Routing/Redirector.php#L113)

Я предполагаю, что вы изначально использовали выездной метод для внешней маршрутизации, так что …

Используя Redirect :: to (), если вы предоставите действительный протокол (например, http: //), генератор URL просто вернет указанный полный URL (https://github.com/laravel/framework/blob/4.0/src/Illuminate/Routing/UrlGenerator.php#L86) для перенаправления, которое затем будет выполнено (методом createRedirect).

Вам нужно только установить безопасный параметр, если вы используете относительные URL.

РЕДАКТИРОВАТЬ: реализация немного отличается, но приведенная выше информация также действительна для Laravel 4.1 и 4.2

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]