在 symfony 1.4 的 settings.yml 中,我们使用以下选项:
env:
request:
param:
relative_url_root: /name-of-app
指定应用使用哪个 relative_url_root。所以每个应用程序都在不同的 relative_url_root 下运行。
问题是 symfony 1.4 路由没有检测到这个相对 url 根。例如,如果我们有以下路线:
route_name:
url: /some-module/some-action
param: { module: somemodule, action: someaction }
我们尝试访问http://myproject.local/name-of-app/some-module/some-action
symfony 尝试搜索匹配的路由名称而name-of-app/some-module/some-action
不是/some-module/some-action
.
symfony 现在也尝试使用这个 relative_url_root 链接到图像,因此不再找到图像。因为图像只能通过http://project.local/img/..
而不是http://project.local/name-of-app/img
解决这个问题的最佳方法是什么?
- 我应该在某处删除“/”吗?
- 我应该在 htaccess 中以某种方式使用 RewriteBase 吗?
- 我应该使用 htaccess 在 REQUEST_URI 中去除“应用程序名称”吗?
- 在每个路由 url 前加上 name-of-app/?
- 我应该以某种方式告诉 apache /name-of-app 是某种路径或前缀吗?请注意,在我们的生产环境中,我们无法创建虚拟主机,因此我们必须使用 .htaccess 或 symfony 本身来解决这个问题。
- 一个非常不同的解决方案。