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