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

如何通过局域网内其他电脑访问Appserv运行的CodeIgniter 3站点

局域网访问CI3站点(Appserv环境)排查步骤

前置自检

  • 先确认本机直接在浏览器输入http://192.168.1.1/site/可以正常打开站点。如果本机用该IP都无法访问,无需检查CodeIgniter配置,直接定位Apache/网络/防火墙层面的问题。
  • 在需要访问的客户端电脑上ping 192.168.1.1,确认网络连通,排除路由器AP隔离、跨网段拦截等基础网络故障。

第一步:检查Apache监听配置

Appserv默认的Apache配置仅监听本地回环地址,局域网请求根本不会被Apache接收:

  • 打开Appserv安装目录下Apache2.4/conf/httpd.conf(旧版本对应Apache2.2路径)
  • 找到Listen配置项,若默认值为Listen 127.0.0.1:80,修改为Listen 0.0.0.0:80,即监听所有网卡的80端口
  • 修改完成后重启Apache服务生效

第二步:配置Apache目录访问权限

默认Appserv仅允许本地IP访问站点根目录,局域网IP请求会被返回403错误:

  • 仍在httpd.conf中找到对应站点目录的配置段,对应你把site项目放在htdocs目录下的场景,配置段通常为<Directory "Appserv安装路径/htdocs">
  • 旧版Apache2.2:找到Order deny,allow、Deny from all配置,修改为Allow from 192.168.1.0/24,允许整个局域网网段访问
  • 新版Apache2.4:找到Require local配置,修改为Require ip 192.168.1.0/24
  • 修改完成重启Apache生效

第三步:放行系统防火墙规则

Windows防火墙默认拦截所有外部对80端口的入站请求,是最常见的访问失败原因:

  • 打开高级安全Windows Defender防火墙,检查入站规则中Apache的httpd.exe对应规则,确认规则设置为「允许连接」,且作用域包含局域网IP
  • 若找不到对应规则,直接新建入站规则,放行TCP 80端口来自192.168.1.0/24网段的所有请求
  • 临时测试可暂时关闭全量防火墙,若此时可以正常访问,即可确认是防火墙拦截导致的问题

第四步:核对CodeIgniter3配置

完成前面三步后如果仍有问题,再检查CI3本身的配置:

  • 确认application/config/config.php中$config['base_url']值为你设置的http://192.168.1.1/site/,没有遗漏末尾斜杠,也没有残留默认的localhost类硬编码
  • 确认$config['index_page']配置和实际路径匹配:如果没有配置URL重写去掉index.php,base_url需要写为http://192.168.1.1/site/index.php/
  • 如果你使用了.htaccess重写去掉index.php,需要确认Apache配置中对应目录的AllowOverride参数为All,否则重写规则不会生效,会返回404
  • 检查项目的控制器、视图、配置文件中是否存在硬编码的localhost/127.0.0.1跳转逻辑,这类逻辑会导致其他电脑访问时跳转到客户端自身的本地地址,出现连接失败

常见报错对应定位

  • 提示「无法访问此网站/连接超时」:优先排查Apache监听地址、Windows防火墙拦截
  • 提示403 Forbidden:优先排查Apache目录访问权限配置
  • 提示404 Not Found:优先排查.htaccess重写规则、站点路径、CI路由配置
  • 页面打开但样式、静态资源加载失败、点击链接跳转到自身localhost:优先排查base_url配置、硬编码的本地地址引用

内容的提问来源于stack exchange,提问作者Alfred Joseph

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.27 11:45:04