如果我访问symfonyproject.local/app.php,它将使用生产环境。如果我访问symfonyproject.local/app_dev.php,它将使用开发环境。我想快速开发和测试,所以我需要任何网址来加载app_dev.php。
但是当我在开发环境中点击一个链接,比如<a href='/users'>Link</a>,它显然会加载symfonyproject.local/users,而不是我需要的symfonyproject.local/app_dev.php/users。如何强制点击dev环境中的链接自动停留在dev环境中?是否有重写所有URL的功能,或者我必须自己创建它?
发布于 2016-08-10 19:26:10
如果您使用路由器生成URL,则它们会自动包含/app_dev.php/。参见Symfony Twig Extensions - path()。
我个人并不直接使用app_dev.php。我使用一个修改后的.htaccess,它指向app_dev.php而不是app.php。
发布于 2016-08-10 19:22:45
对于正确生成的链接,应使用url()方法
$this->url('@route');或者更快的方式,您可以更改文件app.php中的环境变量,但我不建议使用这种方式。
发布于 2016-08-10 23:18:29
您可以考虑在您的httpd-vhosts.conf中使用如下内容
<VirtualHost *:80>
ServerName localhost
DocumentRoot "YOUR DOCUMENT ROOT"
DirectoryIndex app_dev.php
<Directory "YOUR DOCUMENT ROOT">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /app_dev.php [QSA,L]
</IfModule>
</Directory>
</VirtualHost>它将添加一条规则,使所有请求都通过app_dev.php
https://stackoverflow.com/questions/38872004
复制相似问题