如何最好地改变Symfony前端控制器

时间:2015-05-19 11:23:43

标签: apache .htaccess symfony mod-rewrite

我根据这里的说明创建了一个新的Symfony项目,而没有使用安装程序:http://symfony.com/doc/current/book/installation.html#creating-symfony-applications-without-the-installer

我接受了所有默认设置,包括演示包AcmeWebBundle

我配置了一个以新项目为根的Apache虚拟主机,并重新启动了Web服务器。我想通过“http://virtualhost/”访问该应用程序(即,没有明确调用前端控制器app.phpapp_dev.php)。

随项目安装的是.htaccess文件,可将DirectoryIndex设置为app.php。我想使用开发人员环境进行开发,但(长话短说)似乎唯一的方法是手动编辑.htaccess文件 - DirectoryIndex设置,加上一些{ {1}}指令。

是否有更简单的方法在环境/控制器之间切换而无需编辑mod_rewrite文件?对于奖励积分,我不得不通过反复试验来解决这个问题 - 我在错过的某个地方的文档中对此进行了解释吗?

谢谢,祝你有愉快的一天。

1 个答案:

答案 0 :(得分:0)

你需要这个:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{SERVER_NAME} \.dev$
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app_dev.php [QSA,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>

如果您使用以.dev结尾的主机,则您将使用dev-environment。

例如,您可以使用virtualhost作为prod-env主机,使用virtualhost.dev作为dev-env主机。