You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在局域网内发布带虚拟域名的Laravel项目?

解决Laravel项目局域网访问问题

看起来你已经搞定了本地虚拟主机的基础配置,但要让局域网其他设备也能访问,得调整几个关键设置,我一步步给你捋清楚:

1. 确保Apache监听所有网络接口

首先,Apache默认可能只绑定了本地回环地址(127.0.0.1),这会导致局域网设备无法连接到你的服务。你需要修改httpd.conf文件:

  • 找到Listen指令,如果是Listen 127.0.0.1:80,改成Listen 80,这样Apache会监听电脑上所有可用的网络接口。

2. 更新虚拟主机的权限配置(适配Apache 2.4+)

你当前用的Order allow,deny和Allow from all是Apache 2.2的旧语法,在2.4及以上版本推荐用新的权限规则,避免潜在的访问限制问题:
打开httpd.vhosts.conf,把<Directory>块修改成这样:

<Directory "C:/xampp/htdocs/smarts/public">
    DirectoryIndex index.php
    AllowOverride All
    Require all granted
</Directory>

保持<VirtualHost *:80>不变,这个配置会让虚拟主机响应所有接口的80端口请求。

3. 获取你的电脑局域网IP

局域网设备需要通过你的电脑IP来访问项目,先找到这个IP:

  • Windows:打开命令提示符,输入ipconfig,找到对应网络(有线/Wi-Fi)的IPv4地址,比如192.168.3.105。
  • macOS/Linux:打开终端,输入ifconfig(Linux可能用ip addr),找到网络接口的inet地址。

4. 让局域网设备访问项目的两种方式

方式一:直接通过IP访问

  • 先修改Laravel项目根目录下的.env文件,把APP_URL改成你的局域网IP,比如:
    APP_URL=http://192.168.3.105
    
  • 重启Apache服务后,局域网内的其他设备在浏览器输入http://你的局域网IP(比如http://192.168.3.105)就能访问项目了。

方式二:通过域名smarts.local访问

如果想保留域名访问的习惯,需要让局域网内的每台设备修改它们的hosts文件:

  • Windows设备:打开C:\Windows\System32\drivers\etc\hosts(需要管理员权限),添加一行:
    你的局域网IP smarts.local
    
  • macOS/Linux设备:打开/etc/hosts(需要sudo权限),添加同样的内容。
  • 完成后,其他设备在浏览器输入http://smarts.local就能访问,你的.env里APP_URL保持http://smarts.local即可。

5. 检查防火墙设置

别漏了防火墙的问题!如果你的电脑开启了防火墙,需要允许Apache的80端口入站连接:

  • Windows:打开Windows Defender防火墙,进入“高级设置”,添加一条允许80端口(TCP)入站的规则,或者直接允许httpd.exe通过防火墙。
  • macOS/Linux:检查系统防火墙配置,确保80端口对外开放。

最后,重启Apache服务让所有配置生效,这样局域网内的设备就能正常访问你的Laravel项目啦!

内容的提问来源于stack exchange,提问作者Smartappc Kwt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:03:57