Apache服务器仅本地可访问PHP页面,其他设备显示默认页面求助
问题原因与修复方案
核心问题
你的VirtualHost配置绑定的是127.0.0.1:81,这意味着只有本地回环地址发起的请求才会匹配该虚拟主机。其他设备通过局域网IP访问时,请求会匹配Apache的默认站点,因此显示“it works”页面。
具体修复步骤
修改VirtualHost监听地址
将VirtualHost的绑定地址从127.0.0.1:81改为*:81(监听所有网卡的81端口),或者直接指定你的电脑局域网IP(比如192.168.1.100:81)。修改后的配置如下:<VirtualHost *:81> DocumentRoot /home/user/sites/wiki ServerName www.example.com # 可选:添加局域网IP作为别名,方便其他设备用IP访问 ServerAlias 192.168.1.100 <Directory "/home/user/sites/*"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost>确保请求匹配虚拟主机
- 如果其他设备用
http://你的局域网IP:81访问,添加上述的ServerAlias即可让请求匹配到你的站点。 - 如果想用
www.example.com:81访问,需要在其他设备的hosts文件中添加映射:你的局域网IP www.example.com(安卓设备可通过root修改hosts,或使用第三方工具实现)。
- 如果其他设备用
重启Apache服务
执行重启命令让配置生效:# 不同系统命令可能不同,示例: sudo systemctl restart httpd # 或 sudo service apache2 restart检查防火墙设置
确保你的电脑开放了81端口,允许局域网内设备访问。比如在Ubuntu上可以用:sudo ufw allow 81/tcp
验证
修改完成后,用其他设备访问http://你的局域网IP:81,应该能正常显示你的PHP页面,而非默认的“it works”。
内容的提问来源于stack exchange,提问作者Morgan
相关产品推荐
相关产品推荐

