Подтвердить что ты не робот

Генератор символов Symfony, создающий разные URL-адреса с одного и того же маршрута до и после входа в систему

В настоящее время я использую Symfony Kernel и Routing в рамках пользовательской структуры, и у меня возникла любопытная проблема. Используя тот же маршрут:

$collection->add('article_edit', new Route('/articles/edit/{alias}', array(
    '_controller' => 'AppBundle:Article:edit'
)));

Использование этого кода генератора URL

$url = $this->generateUrl('article_edit',array('alias' => 'test'));

Перед входом в систему, Url Generator производит

/статьи/редактирование/тест

И после входа в систему он производит

http://localhost/testsite/articles/edit/test

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

Спасибо

4b9b3361

Ответ 1

Я вижу, что "/articles/edit/test" и " http://localhost/testsite/articles/edit/test" являются одинаковым URL-адресом только с разницей URL-адреса сайта в нем.

если вы используете свой метод "generateUrl", как следующий, он будет генерировать всегда одинаковый URL-адрес. Он должен генерировать " http://localhost/testsite/articles/edit/test" always

$url = $this->generateUrl('article_edit',array('alias' => 'test', UrlGeneratorInterface::ABSOLUTE_URL));

Также не забудьте использовать следующий класс в разделе пространства имен

use Symfony\Component\Routing\Generator\UrlGeneratorInterface;

Ответ 2

Попробуйте настроить хост в app/config/services.yml

parameters:
    router.request_context.host: www.yourdomain.com
    router.request_context.scheme: http
    router.request_context.base_url: /your/path

Дополнительная информация: https://symfony.com/doc/3.3/console/request_context.html