使用MAMP运行Symfony项目访问配置路由提示404NotFound如何解决
Symfony MAMP路由404问题排查方案
- 第一步:确认路由注册有效性
进入项目根目录执行命令:
检查输出列表中是否存在php bin/console debug:routehome_page条目,路径是否为/home_page,如果不存在则排查config/routes.yaml的YAML缩进格式是否正确(必须用2个空格缩进,禁止使用Tab)。 - 第二步:修正站点根目录配置(最常见诱因)
Symfony的入口文件位于项目下的public/index.php,你当前直接把项目放在MAMP/htdocs/mysite下,访问localhost:8888/mysite时默认读取的是项目根目录的index.html,而非Symfony的入口文件,无法触发路由解析。
两种修复方案二选一:- 推荐方案:打开MAMP的站点配置,将站点根目录修改为
MAMP/htdocs/mysite/public,重启MAMP后直接访问localhost:8888/home_page即可 - 临时测试方案:无需修改配置,直接访问
localhost:8888/mysite/public/home_page
- 推荐方案:打开MAMP的站点配置,将站点根目录修改为
- 第三步:确认Apache重写规则生效
- 检查项目
public目录下是否存在.htaccess文件,若不存在可手动执行composer require symfony/apache-pack重新生成 - 打开MAMP的Apache配置文件
httpd.conf,确认mod_rewrite.so行没有被注释,同时站点目录的AllowOverride配置项设置为All,修改后重启MAMP
- 检查项目
- 第四步:快速验证代码是否正常
进入项目根目录执行Symfony内置服务器命令:
按照终端提示访问对应地址加symfony server:start/home_page,如果可以正常打开说明业务代码无问题,故障完全来自MAMP配置。
内容的提问来源于stack exchange,提问作者Nakaji
相关产品推荐
相关产品推荐

