php - 在 Symfony2 中生成具有特定方案的绝对 URL

标签 php symfony

我想在 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/

相关文章:

php - 找不到类的实体管理器

php - mysql编程的好方法

php - MySQL 社区服务器 - 它到底是什么?

forms - Symfony 3 - 表单集合字段在字段外显示错误

javascript - Symfony2 将变量从 Controller 传递给 javascript

sql - 如何将此 SQL 查询转换为 Doctrine 查询

database - Doctrine Query Builder 不适用于 UPDATE 和 INNER JOIN

php - Laravel 4 无法删除外键

php - Tomcat Quercus Php 无法正常工作

php - 无法使用Python在MySQL中插入表或创建表