Apache2 Vhost 不适用于 Symfony 2.8
Posted
技术标签:
【中文标题】Apache2 Vhost 不适用于 Symfony 2.8【英文标题】:Apache2 Vhost doesn't works with Symfony 2.8 【发布时间】:2016-04-23 21:53:29 【问题描述】:我启动了 symfony 2.8 项目,但我遇到了 Apache2 vhosts 的问题。
当我尝试获取我的管理员主页时,出现 404 错误。
这是我在 /etc/apache2/sites-enabled 目录中的项目 vhost 文件(具有 777 测试权限):
<VirtualHost *:80>
ServerName local.erdf.fr
ServerAdmin webmaster@localhost
DocumentRoot /var/www/erdf/web
<Directory /var/www/erdf/web/>
DirectoryIndex app_dev.php
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^(.*)$ /app_dev.php [QSA,L]
</IfModule>
</Directory>
ErrorLog /var/log/apache2/errors.log
</VirtualHost>
(我在创建文件后重新启动了 apache2 服务)
我还认为问题可能来自我的路由配置中的错误配置。
这就是我的 app/config/routing.yml:
admin:
resource: "@AdminBundle/Resources/config/routing.yml"
prefix: /admin
还有我的 AdminBundle/Resources/routing.yml 配置:
admin_homepage:
path: /
defaults: _controller: AdminBundle:Default:index
(我还使用“模式”参数而不是路径进行了测试)。
在我的本地计算机中,我在 /Etc/hosts 中添加了:
192.168.1.20 local.erdf.fr
所以,当我尝试访问 url:local.erdf.fr/web/app_dev.php/admin 时,出现 404 错误。 (如果我只是尝试 local.erdf.fr/web/app_dev.php/ 我在 /var/www/html 中有 apache2 默认页面)。
我希望我已经足够清楚,并提前感谢您的帮助。
PS:我刚刚创建了这个服务器。也许我应该更改 apache2 配置中的文件以考虑虚拟主机?
当我只使用 url:local.erdf.fr 时,我有 /var/www/racine:
编辑:已解决
好的,谢谢@Rufinus,他让我上路了。事实上,当我安装我的 apache 服务器时,我已经添加了
sudo a2enmod rewrite
但我忘记在 /etc/apache2/apache2.conf 的末尾添加这个:
<ifModule mod_rewrite.c>
RewriteEngine On
</ifModule>
感谢大家的宝贵帮助:) (对不起我的英语不好)
【问题讨论】:
apache是什么版本? @felipsmartins 它是 Apache/2.4.7 (Ubuntu) 因此,在 apache v2.4 中,您必须将Order Allow,Deny
更改为 Require all granted
。当然,重新加载 apache 服务。
完成并重新启动 apache。但仍然无法正常工作。 :/ @felipsmartins
rewrite
模块已启用?因为您在 if 块中拥有它,所以您不会注意到它是否丢失。
【参考方案1】:
尝试通过 local.erdf.fr/app_dev.php/ 访问,因为您的 VHOST 已经瞄准 /web/ ?
编辑: ip对吗?
尝试删除尾随的 /
<Directory /var/www/erdf/web/>
并删除
DirectoryIndex app_dev.php
【讨论】:
您好,谢谢您的帮助。不,它不起作用,我也有 404 错误 所以,我添加了 vhosts 修改但仍然无法正常工作。 虚拟主机是否激活? sudo a2ensite example.com.conf 我直接在启用站点的情况下创建了虚拟主机以上是关于Apache2 Vhost 不适用于 Symfony 2.8的主要内容,如果未能解决你的问题,请参考以下文章
反向代理不适用于使用 apache2 的 ubuntu 20 上的 https
mod_rewrite 适用于 .htaccess 文件,但不适用于 apache2.conf
Apache2 vHost conf - 重定向到不同的服务器