繁体   English   中英

在 Symfony2 中修改请求对象中的 Url

[英]Modify Url in Request Object in Symfony2

我正在尝试修改进入 Symfony 内核的 Url,但保持其他所有不变。 已经尝试过 usinh Request::create但该方法替换了请求中的所有其他变量。

如何做到这一点?

继续做一些研究,发现用duplicate的方法是可以做到的。 示例:

$new_url = $request->duplicate(null, null, null, null, null, array('REQUEST_URI' => $old_url, null));

希望这有帮助

我通过搜索找到了这个……我不知道这是否适用于 symfony 2,但在 symfony 5 上,这将替换具有所有服务器参数的初始数组,只有一个参数“REQUEST_URI”。

保留所有其他密钥的替代方案(Symfony 5):

$serverBag = $request->server;
$requestUri = $serverBag->get('REQUEST_URI');
$serverBag->set('REQUEST_URI',str_replace('/oldUrl', '/newUrl', $requestUri));
$request = $request->duplicate(null, null, null, null, null, $serverBag->all(), null);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM