如何在局域网中共享Laravel应用 访问提示Not Found如何解决
问题根源
你出现404的核心原因是EasyPHP-Devserver的监听端口8080默认指向服务器的根目录,没有映射到你Laravel应用的public目录,所以即使你修改了Laravel内部的URL配置,请求也没有正确指向Laravel的入口文件index.php。
解决方案
方案1:配置虚拟主机(推荐)
这是最符合Laravel运行规范的方式,不需要额外加路径访问:
- 打开EasyPHP的虚拟主机配置文件,默认路径为
EasyPHP-Devserver-17\eds-binaries\httpserver\apache对应版本号文件夹\conf\extra\httpd-vhosts.conf - 添加如下配置,注意替换路径为你自己的项目实际路径:
<VirtualHost 10.0.102.2:8080> DocumentRoot "你的Laravel项目存放路径/app/public" ServerName 10.0.102.2 <Directory "你的Laravel项目存放路径/app/public"> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> </VirtualHost>
- 重启EasyPHP的Apache服务,其他局域网主机直接访问
http://10.0.102.2:8080即可进入Laravel应用
方案2:通过完整路径临时访问
如果只是临时测试不想改服务配置,可以直接让其他工作站访问完整路径:http://10.0.102.2:8080/app/public
- 需确认你的整个
app项目文件夹已经放在EasyPHP的默认web根目录下,默认根目录路径为EasyPHP-Devserver-17\eds-www
方案3:修改Apache默认根目录
如果这个8080端口专门用来跑当前Laravel项目,可以直接修改Apache的默认根目录:
- 打开Apache主配置文件
httpd.conf - 找到
DocumentRoot和对应的<Directory>配置项,把原有路径替换为你Laravel项目public目录的绝对路径 - 保存后重启Apache服务即可
额外检查项
- 确认Laravel
public目录下存在.htaccess文件,缺失的话复制同版本Laravel官方默认的.htaccess文件即可 - 确认
storage和bootstrap/cache目录有足够读写权限,Windows环境下给Users组开放读写权限即可 - 所有配置修改后必须重启EasyPHP服务才会生效
内容的提问来源于stack exchange,提问作者El Hacen Ely
相关产品推荐
相关产品推荐

