如何在Symfony 3.4中获取当前页面的URL



我的意思是如何获得当前的相对URL,包括文件名(如果有(,即下面强调的所有内容:

http://hostname/app/app_dev.php/path/to/some/action?even=a%20query%20string
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

我试过像

$request->getRequestUri();

但我得到的结果是这样的

http://hostname/app/app_dev.php/admin/get

我想要这样的结果

http://hostname/myproject_name/user/method/action

如何进入Symfony 3.4

也许以下内容会有所帮助:

https://api.symfony.com/3.4/Symfony/Component/HttpFoundation/Request.html#method_getUri

$request->attributes->get('_route')

这表示当前请求的基本URL,前缀为当前请求的路径。此外,它不会返回URL的查询字符串:

$request->getSchemeAndHttpHost().$request->getPathInfo()

例如,对于这个真实的URL:

http://127.0.0.1:8001/app_dev.php/homepage?page=3&size=20

上面的片段将返回:

http://127.0.0.1:8001/homepage

最新更新