我在笔记本电脑上设置了WAMP 3.1.9,并希望使用手机从LAN访问该网站。Apache 版本是 2.4.39,我用以下内容替换了 httpd-vhosts.conf 文件中的默认虚拟主机设置:
<VirtualHost *:80>
ServerName localhost
DocumentRoot "${INSTALL_DIR}/www"
<Directory "${INSTALL_DIR}/www/">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
我正在使用 Windows 10 并将 httpd.exe 添加到防火墙例外中。
问题是,当我从手机访问笔记本电脑 LAN ip (192.168.2.8( 时,出现"无法建立连接"错误。当我查看网站地址时,它说"本地主机"而不是局域网 IP,所以我怀疑 Apache 将请求重定向到 localhost,但我找不到执行此操作的设置,也无法在线找到它。
我通过重新安装WAMP解决了它
- 我现在使用版本 3.2.0。
- 编辑了httpd-vhosts.conf并将行
Require local
更改为Require all granted
。 - 已重新启动所有服务
- 清除了手机的历史记录
- 尝试从我的手机访问该站点,导致连接超时但没有重定向。
- 添加了 httpd.exe 作为 Windows 防火墙的例外。这是通过以下方式完成的:开始>类型:Windows Defender 防火墙> 允许应用或功能...>更改设置>允许其他应用。>浏览> C:\wamp64\bin\apache\apache2.4.41\bin\httpd.exe>添加>确定
- 再次清除电话历史记录。
- 在我的笔记本电脑上成功到达该站点。
请参阅文档:
服务器名称指令设置请求方案、主机名和端口 服务器用于标识自身。
服务器名称用于(可能与服务器别名结合使用(来 使用基于名称的虚拟主机时,唯一标识虚拟主机。
此外,这在创建自引用重定向时使用 使用规范名称设置为非默认值时的 URL。
既然你说ServerName
localhost
,Apache在生成重定向时会重定向到localhost
。
如果您希望规范名称192.168.2.8
请使用该名称。