Symfony 为什么app_dev.php可以在生产中使用?

Symfony 为什么app_dev.php可以在生产中使用?,symfony,Symfony,我有一个生产网站,请注意,也可以使用带有调试工具栏的url中的app_dev.php访问该网站。在apache vhost下,我有: <IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app.php [QSA,L] <

我有一个生产网站,请注意,也可以使用带有调试工具栏的url中的app_dev.php访问该网站。在apache vhost下,我有:

    <IfModule mod_rewrite.c>
        Options -MultiViews
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ app.php [QSA,L]
    </IfModule> 
如何在生产中禁用app_dev.php?

app_dev.php可用,因为:

文件存在 允许访问该文件。 您应该做的是删除该文件或禁止从.htaccess访问该文件


此外,在app_dev.php上,应该有一行只允许从某些IP地址访问,尽管以前的解决方案更健壮。

我想说,您不应该在生产中使用app_dev.php,它应该在您构建项目时删除


或者,您可以使用环境变量来定义什么是SYMFONY_ENV,并在app_dev.php中使用,而不是删除它,如果它不是dev,那么您应该拒绝或重定向。

Remove RewriteCond%{REQUEST_FILENAME}-并将其限制在较小的静态文件目录区域。是否使用修改过的app_dev.php文件?因为,原始文件有一个检查来防止出现这种情况。@Himal是的,您复制的原始文件解决了问题。从技术上讲,您根本不需要在生产服务器上使用该文件。如果您不打算访问生产服务器上的开发环境,只需将其删除即可。