在Wamp64的Apache上运行Symfony 3时出现HTTP 404错误
解决Wamp64下Symfony项目访问404错误的排查方案
我之前在Wamp环境部署Symfony时也遇到过类似的404问题,结合你的场景给你整理几个排查步骤,应该能解决问题:
1. 先确认文件路径的准确性
先手动核对C:\wamp64\www\project1\public\index.php是否真实存在——有时候创建项目时可能因为命令输入错误导致路径偏差,或者文件被误删。打开文件管理器直接导航到该路径,确认index.php存在,且内容是Symfony默认的启动代码(比如包含require_once dirname(__DIR__).'/vendor/autoload.php';这类核心启动行)。
2. 配置虚拟主机(最关键的一步)
Wamp默认通过localhost访问C:\wamp64\www目录,但Symfony项目直接通过子目录访问容易出现路径解析、路由匹配的问题,推荐配置虚拟主机来访问:
- 打开Wamp管理器,点击「Apache」→「httpd-vhosts.conf」,打开配置文件。
- 添加以下配置(注意替换成你的项目实际路径):
<VirtualHost *:80> ServerName project1.local DocumentRoot "C:/wamp64/www/project1/public" <Directory "C:/wamp64/www/project1/public"> AllowOverride All Require all granted Options Indexes FollowSymLinks </Directory> </VirtualHost> - 保存文件后,打开
C:\Windows\System32\drivers\etc\hosts文件,添加一行:127.0.0.1 project1.local - 重启Wamp的Apache服务,然后访问
http://project1.local,应该就能看到Symfony的欢迎页面了。
3. 确认Apache的rewrite模块已启用
Symfony的路由功能依赖Apache的rewrite模块,确保它处于启用状态:
- 打开Wamp管理器,点击「Apache」→「Apache Modules」,找到
rewrite_module,确保它前面有勾选标记。如果没勾选,选中后重启Apache服务。
4. 检查文件夹权限
Windows下的权限限制可能导致Apache无法读取项目文件:
- 右键
C:\wamp64\www\project1文件夹,选择「属性」→「安全」,确保IIS_IUSRS或Apache相关的用户组拥有读取和执行的权限。
5. 清除Symfony缓存
缓存异常也可能引发奇怪的访问问题,打开命令行,导航到项目根目录(C:\wamp64\www\project1),执行以下命令:
php bin/console cache:clear --env=dev
执行完成后再尝试访问页面。
如果以上步骤都尝试后还是无法解决,可以查看Wamp的Apache错误日志(Wamp管理器→「Apache」→「Error Log」),日志里会记录具体的404触发原因,比如某个依赖文件找不到,根据日志信息再针对性排查即可。
内容的提问来源于stack exchange,提问作者HerbyMcfly
相关产品推荐
相关产品推荐

