本地XAMPP部署Magento2出现404 Not Found问题求助
Magento2本地部署后Apache 404错误排查与解决
问题概述
通过XAMPP在本地搭建Magento2环境,执行以下安装命令完成部署后,访问http://localhost/magento2/时浏览器返回404 Not Found错误,提示「请求的URL在服务器上不存在」。服务器环境为Apache/2.4.54 (Win64) OpenSSL/1.1.1p PHP/8.1.12,运行在localhost的80端口。
安装命令:
php bin/magento setup:install --base-url="http://localhost/magento2/" --db-host="localhost" --db-name="magento_2.4.5" --db-user="root" --admin-firstname="admin" --admin-lastname="admin" --admin-email="user@example.com" --admin-user="admin" --admin-password="admin123" --language="en_US" --currency="USD" --timezone="America/Chicago" --use-rewrites="1" --backend-frontname="admin"
排查与解决步骤
1. 启用Apache的mod_rewrite模块
- 打开XAMPP控制面板,点击Apache模块的「Config」按钮,选择「Apache (httpd.conf)」
- 找到行
#LoadModule rewrite_module modules/mod_rewrite.so,删除开头的#注释符 - 保存配置文件,重启Apache服务
2. 确认Magento根目录的.htaccess文件存在
- 检查XAMPP的
htdocs/magento2目录下是否存在.htaccess文件(Magento安装完成后会自动生成) - 若文件缺失,从对应版本的Magento官方源码包中复制
.htaccess文件到根目录
3. 配置Apache目录的AllowOverride权限
- 编辑Apache的
httpd.conf文件,找到对应Magento目录的<Directory>配置段(或编辑conf/extra/httpd-vhosts.conf添加虚拟主机配置) - 确保
AllowOverride设置为All,示例配置:<Directory "C:/xampp/htdocs/magento2/"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory> - 保存配置后重启Apache服务
4. 重新生成Magento的重写规则与缓存
- 打开命令提示符,切换到Magento2根目录(
cd C:\xampp\htdocs\magento2) - 依次执行以下命令:
php bin/magento setup:upgrade php bin/magento setup:di:compile php bin/magento cache:flush php bin/magento indexer:reindex
5. 验证Base URL配置正确性
- 通过phpMyAdmin登录
magento_2.4.5数据库 - 查看
core_config_data表,确认web/unsecure/base_url和web/secure/base_url的value字段值为http://localhost/magento2/ - 若配置不符,执行以下命令更新:
php bin/magento config:set web/unsecure/base_url http://localhost/magento2/ php bin/magento config:set web/secure/base_url http://localhost/magento2/ php bin/magento cache:flush
内容的提问来源于stack exchange,提问作者Kumar Anand
相关产品推荐
相关产品推荐

