如何将app.php和app_dev.php放在子文件夹中

时间:2013-10-25 18:01:07

标签: symfony mod-rewrite

由于我们在同一个网站上有多个应用(以及与大项目相关的所有应用),因此我将多个应用放在网络文件夹中,如下所示:

web /

| - 前端

| - 后端

| - api

每个人都应该拥有自己的app.php和app_dev.php。可以将前端的app.php和app_dev.php放在root下,但这有点打破了我们试图保留的漂亮结构。

我正在尝试在我的.htaccess中使用这些规则

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^app_dev\.php.*$ frontend/app_dev.php [QSA,L]

RewriteRule ^(.*)$ frontend/app_dev.php [QSA,L]

似乎工作正常,除了现在生成的所有链接都有前缀'frontend'这样的事实:abc.com/frontend/usual-route

在这种情况下,有没有告诉Symfony忽略前端部分?

1 个答案:

答案 0 :(得分:2)

您需要覆盖路由器的请求上下文基本URL。

将此添加到您的app/config/paramters.yml

parameters:
   router.request_context.base_url: /

请参阅文档章节Configuring the Request Context Globally

请注意,您需要symfony版本> = 2.2.0才能使用此功能。