Windows10下MAMP修改Apache端口至8080后虚拟主机无法访问求助
我来帮你排查这个404错误的问题,你已经做了大部分配置,但有几个关键细节没处理对,咱们一步步来修正:
1. 修正Hosts文件的错误配置
你在hosts里写的127.0.0.1:8080 mygym.test是不对的——hosts文件只能做IP和域名的映射,不能带端口号。正确的写法应该是:
127.0.0.1 mygym.test
修改后保存hosts文件(注意要以管理员权限打开编辑器才能顺利保存)。
2. 访问时必须指定端口号
因为你把Apache的监听端口改成了8080,而浏览器访问域名默认用的是80端口,直接输入mygym.test会去连接未被Apache占用的80端口,自然会返回404。你需要在浏览器地址栏输入:
http://mygym.test:8080
3. 确认虚拟主机配置文件已启用
打开MAMP\bin\apache\conf\httpd.conf,找到下面这一行,确保前面的注释符号#已经去掉:
# Include conf/extra/httpd-vhosts.conf
改成:
Include conf/extra/httpd-vhosts.conf
这一步是让Apache加载你的虚拟主机配置,没开启的话httpd-vhosts.conf里的设置根本不会生效。
4. 完善httpd-vhosts.conf的权限配置
你的虚拟主机节点里最好加上目录权限配置,避免Apache因为权限问题拒绝访问。修改httpd-vhosts.conf里的<VirtualHost>节点:
NameVirtualHost *:8080 <VirtualHost *:8080> ServerName mygym.test DocumentRoot "E:/MAMP/htdocs/mygym/system" # 新增目录权限配置 <Directory "E:/MAMP/htdocs/mygym/system"> AllowOverride All Require all granted </Directory> </VirtualHost>
同时要确认E:/MAMP/htdocs/mygym/system这个目录确实存在,而且里面有默认的索引文件(比如index.php、index.html)——如果没有索引文件,Apache也会返回404。
5. 重启Apache服务
所有配置修改完成后,一定要在MAMP控制面板里重启Apache服务,让新配置生效。
6. 清除浏览器缓存测试
有时候浏览器会缓存旧的DNS记录或页面,建议用无痕模式打开浏览器,再访问http://mygym.test:8080试试。
按照上面的步骤操作后,你的虚拟主机应该就能正常访问了。
内容的提问来源于stack exchange,提问作者Lakshan Buddhika Peramuna

