我知道在 Symfony2 的配置中,没有对基本 url 的引用,因为没有请求;该应用程序可以在 cli 或 Web 服务器中运行,因此我们不能依赖请求。但是,我仍然有要求样式表或 javascript 基本 url 的配置(例如 JQueryHelperBundle,您可以在其中设置 jquery 本地路径 - 作为本地 url)。问题是,有没有一种方法可以为配置动态设置基本 url,而无需更改它,以便:
- 应用程序可以从任何正在开发的目录中移动,无论是 www/myproject 还是 www/foo/myproject,而无需更改设置
- 除了会检测到用 apache 重写基本 url(虚拟主机很常见,其中基本 url 映射到 web 目录为“/”)之外,生产将工作相同。
有没有办法获取该基本网址信息?使用减去内核根目录之间的差异$_SERVER['DOCUMENT_ROOT']
是检测此类基本 url 的一种方法吗?但是 virtualhost 将 url 重新定位到 web 目录上的 / 呢?硬编码基本 url 将项目完全耦合到它在开发中的位置,并且移动项目需要每次都更改基本 url,这很烦人。
那么,有没有一种方法可以根据环境动态检测 Symfony2 配置中的基本 url,而不依赖于请求?