Удалить сегмент или изменить REQUEST_URI в запросе Laravel? - PullRequest
0 голосов
/ 27 мая 2020

Кто-нибудь знает способ удалить сегмент из текущего запроса в Laravel?

Например, я хочу удалить сегмент один, чтобы ...

/one/two/three

становится ...

/two/three

Я получаю первый сегмент, используя:

$segment = Request::segment(1);

Этот ответ Тома C работает для замены настройки сервера, но, похоже, не применяться к маршрутам. Laravel 5.0. * Промежуточное ПО для удаления префикса локали из URL-адреса перед обработкой маршрутов

Request::instance()->server->set('REQUEST_URI',"/two/three/four");

Спасибо

1 Ответ

0 голосов
/ 27 мая 2020

Ответ Тома C привел меня к странице /public/index.php, где REQUEST_URI можно изменить без каких-либо проблем.

Laravel 5.0. * Промежуточное ПО для удалить префиксную локаль из URL-адреса до обработки маршрутов

Просто найдите этот фрагмент кода и сделайте все, что хотите / нужно делать с любыми переменными $ _SERVER ПЕРЕД этим.

$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);

Если вы хотите / вам нужно поработать с переменной $ request, закомментируйте приведенный выше код и измените его на следующий:

$request = Illuminate\Http\Request::capture();// REQUIRED
$request->merge(['somekey' => $somevalue]);// DO WHATEVER YOU WANT HERE
$response = $kernel->handle($request);// REQUIRED

Любые изменения, которые вы вносите в REQUEST_URI, будут проходить через приложение. Если вы добавите переменные в запрос $, они также будут доступны везде, где вы на них ссылаетесь.

Ура.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...