Symfony Url Generator在登录之前和之后从同一Route发出不同的URL

Sta*_*umo 24 php url routing symfony

我目前在自定义框架中使用Symfony内核和路由,我遇到了一个奇怪的问题.使用相同的路线:

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

使用此Url Generator代码

$url = $this->generateUrl('article_edit',array('alias' => 'test'));
Run Code Online (Sandbox Code Playgroud)

登录前,Url Generator会生成

/文章/编辑/测试

登录后,它会产生

HTTP://本地主机/测试网站/用品/编辑/测试

没有任何改变,这里可能会发生什么,因为我一直想要相同的结果.

谢谢

han*_*gla 2

我可以看到“/articles/edit/test”和“ http://localhost/testsite/articles/edit/test ”是相同的网址,只是其中的网站网址不同。

如果您使用以下“generateUrl”方法,它将始终生成相同的 url。它应该始终生成“ http://localhost/testsite/articles/edit/test ”

$url = $this->generateUrl('article_edit',array('alias' => 'test', UrlGeneratorInterface::ABSOLUTE_URL));
Run Code Online (Sandbox Code Playgroud)

另外不要忘记在命名空间部分使用以下类

use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
Run Code Online (Sandbox Code Playgroud)