如何通过WAMP服务器让本地局域网可访问部署的Laravel应用
局域网访问WAMP部署的Laravel应用解决方案
- 修正Apache虚拟主机配置
你当前的虚拟主机存在2个核心问题:一是根目录指向错误,Laravel应用的访问入口为public目录,需要将根目录映射到对应项目的public文件夹;二是混用了Apache 2.2和2.4的权限规则,容易引发权限拦截。修改httpd-vhosts.conf参考配置如下(假设你的Laravel项目存放在D:/wamp/www/attendance目录,可根据实际路径调整):
<VirtualHost *:80> ServerName attendance DocumentRoot "D:/wamp/www/attendance/public" <Directory "D:/wamp/www/attendance/public"> Options +Indexes +FollowSymLinks +MultiViews AllowOverride All Require all granted </Directory> </VirtualHost>
如果需要保留localhost的默认站点,可以额外新增上述虚拟主机配置,不需要修改原localhost的配置。
- 修正hosts配置逻辑
你修改的是服务器本地的hosts文件,仅作用于服务器本机的域名解析,不影响局域网其他设备。如果需要局域网设备用attendance域名访问,需要在每台访问设备的hosts文件中添加192.168.0.105 attendance记录;无需域名的情况下可以直接用http://192.168.0.105访问。另外建议恢复127.0.0.1 localhost的注释,避免本地其他服务访问异常。 - 调整Laravel应用配置
- 打开项目根目录下的
.env文件,将APP_URL修改为http://192.168.0.105或者对应域名 - 进入项目根目录执行命令清除配置缓存:
php artisan config:clear php artisan route:clear- 确认
public目录下存在完整的.htaccess重写规则文件,缺失的话可以从Laravel官方仓库对应版本获取。
- 打开项目根目录下的
- 重启WAMP相关服务
修改完Apache配置后必须重启WAMP的Apache服务才会生效,确认右下角WAMP图标显示为绿色(全部服务正常运行),且已开启「在线模式」。 - 校验网络和防火墙规则
- 先在服务器本地访问
http://192.168.0.105确认服务正常 - 确认防火墙开放的是TCP 80端口的入站规则,测试时可以临时关闭系统防火墙和第三方杀毒软件的网络防护,排查拦截问题
- 确认访问设备和服务器处于同一个局域网网段,不存在子网隔离。
- 先在服务器本地访问
内容的提问来源于stack exchange,提问作者Sermed mayi
相关产品推荐
相关产品推荐

