Генератор символов 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
Без каких-либо изменений, что может происходить здесь, так как я хочу добиться одинакового результата.
Спасибо
Ответы
Ответ 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