我已经将我的Symfony2项目部署到我的开发服务器上,并希望运行开发环境。
如果我使用/app.php,一切都运行得很好,但是如果我尝试app_dev.php,我会得到一个404错误:
在此服务器上找不到请求的URL /app_dev.php。
下面是我的.htaccess文件的副本:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
# Explicitly disable rewriting for front controllers
RewriteRule ^app_dev.php - [L]
RewriteRule ^app.php - [L]
RewriteCond %{REQUEST_FILENAME} !-f
# Change below before deploying to production
#RewriteRule ^(.*)$ app.php [QSA,L]
RewriteRule ^(.*)$ app_dev.php [QSA,L]
</IfModule>它在我的本地机器上运行得很好,只是不能在我的开发服务器上运行,你知道为什么吗?
我的数据目录和/logs目录都有777权限,归www- /cache所有:
drwxrwxrwx+ 4 www-data www-data 4096 Mar 15 11:46 cache
drwxrwxrwx+ 2 www-data www-data 4096 Mar 15 11:05 logs这些目录中的dev和prod完全相同。
发布于 2013-03-15 20:47:32
检查您的app_dev.php它有一个限制,拒绝从服务器本身以外的其他计算机访问开发环境。
这是出于安全原因,如果您部署到生产服务器,并且用户可以访问dev env,那么他/她可能会对您的应用程序了解很多。
// This check prevents access to debug front controllers that are deployed by accident to production servers.
// Feel free to remove this, extend it, or make something more sophisticated.
if (isset($_SERVER['HTTP_CLIENT_IP'])
|| isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1'))
) {
header('HTTP/1.0 403 Forbidden');
exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}您必须将您的IP添加到该数组中,或者删除整个数组(我不建议这样做)。
请始终记住将dev变量传递给AppKernel。$kernel = new AppKernel('dev', true);
https://stackoverflow.com/questions/15431738
复制相似问题