Mac OS(MAMP 6.6)虚拟主机无法访问,显示NotFound错误
解决MAMP 6.6虚拟主机404错误的步骤
核心问题分析
你当前的httpd-vhosts.conf里两个虚拟主机共用ServerName localhost,Apache无法判断请求该路由到哪个目录,这是触发404错误的关键原因。另外MAMP默认Apache端口为8888,你配置里的端口也和实际运行端口不匹配。
具体修复步骤
修正httpd-vhosts.conf配置
打开/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf,替换为以下内容(给每个站点分配独立域名,匹配MAMP默认端口):NameVirtualHost *:8888 <VirtualHost *:8888> ServerName local.php DirectoryIndex index.html index.htm index.php DocumentRoot "/Users/danilbondarev/Projects/php" <Directory "/Users/danilbondarev/Projects/php"> Options Indexes FollowSymLinks Includes execCGI AllowOverride All Require all granted </Directory> </VirtualHost> <VirtualHost *:8888> ServerName local.hybrid DirectoryIndex index.html index.htm index.php DocumentRoot "/Users/danilbondarev/Projects/php/hybrid-main" <Directory "/Users/danilbondarev/Projects/php/hybrid-main"> Options Indexes FollowSymLinks Includes execCGI AllowOverride All Require all granted </Directory> </VirtualHost>注:将
AllowOverride None改为All方便后续.htaccess生效,用Apache 2.4+推荐的Require all granted替代旧权限语法。配置本地hosts映射
打开终端,编辑hosts文件:sudo nano /etc/hosts在文件末尾添加两行:
127.0.0.1 local.php 127.0.0.1 local.hybrid按
Ctrl+O保存,Ctrl+X退出编辑器。确认MAMP端口设置
打开MAMP偏好设置,切换到「Ports」标签,确认Apache端口为8888;如果你自定义过端口,要同步修改httpd-vhosts.conf里的端口号。修复目录权限
给项目目录设置Apache可访问的权限:sudo chmod -R 755 /Users/danilbondarev/Projects/php sudo chown -R _www:_www /Users/danilbondarev/Projects/php重启Apache服务
在MAMP界面中先停止Apache,再重新启动。
测试访问
现在访问http://local.php:8888即可打开第一个站点,访问http://local.hybrid:8888打开第二个站点。
内容的提问来源于stack exchange,提问作者4efirrr
相关产品推荐
相关产品推荐

