Параметры URL-адресов, которые становятся видимыми при перенаправлении, - Symfony 2 - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь сохранить параметры запроса при перенаправлении на новый путь с помощью Symfony2 , однако используемый мной метод отображает закодированные параметры запроса в URL-адресе ...

return $this->redirect(
    $this->generateUrl(
        'my_page_name',
        [
            'myVar' => $myVar,
            $request->query->all() 
            // I have also tried $request->getQueryString() with the same result...
        ]
    )
);

При отправке URL-адреса с такими параметрами запроса, как

my-domain.com/some-page?var1=test&var2=test

Я могу видеть изменение URL-адреса в браузере при перенаправлении на что-то, напоминающее

my-domain.com/some-page?0var1%3Dtest%26var2%3Dtest

Мой вопрос здесь ...

1) Влияет ли это на фактический URL-адрес, на который переходят 2) Есть ли способ, которым я могу остановить это и сохранить URL-адрес таким, каким он был был введен?

1 Ответ

3 голосов
/ 17 февраля 2020

Это параметры запроса кодирования, потому что вы передаете весь массив как параметр, который в терминах сериализуется, чтобы избежать необходимости передавать каждый параметр по отдельности. Это может быть достигнуто путем объединения массивов.

Таким образом, решение будет выглядеть так:

return $this->redirect(
    $this->generateUrl(
        'my_page_name',
        array_merge(
            array(
                'myVar' => $myVar, 
                'myVar2' => $myVar2
            ),
            $request->query->all()
      ) 
    )
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...