我想在 Symfony2 Controller 中生成一个具有特定方案 (https) 的绝对 URL。我找到的所有解决方案都指向 configure the targeted route so that it requires that scheme .但是我需要路由在 http 中保持可访问,所以我不能将它设置为需要 https(在这种情况下,http 请求被重定向到相应的 https URL)。
有没有办法生成一个 URL,仅在该 URL 生成的范围内,具有特定的方案?
我看到使用 'network'
关键字会生成一个“网络路径”样式的 URL,看起来像“//example.com/dir/file”;所以也许我可以简单地做
'https:' . $this->generateUrl($routeName, $parameters, 'network')
但我不知道这对任何路由或请求上下文是否足够健壮。
更新:在对 URL 生成代码进行调查后,这种“网络路径”解决方法似乎非常可靠。网络路径完全作为绝对 URL 生成,在“//”之前没有方案。
最佳答案
最好的办法
$url = 'https:'.$this->generateUrl($routeName, $parameters, UrlGeneratorInterface::NETWORK_PATH)
关于php - 在 Symfony2 中生成具有特定方案的绝对 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32248967/