我正在尝试将我的 Wampserver 网站“上线”。当我尝试从其他设备访问我的 Wampserver 网站时,该设备将重定向到 localhost。例如:运行 Wampserver 的计算机的公共 IP 地址为 xx.xxx.xx.xxx。当我在手机上输入“http://xx.xxx.xx.xxx/site1/”时,手机的浏览器将重定向到“localhost/site1/”,这(显然)无法连接。
运行 Wampserver/Wampserver/PHP/Apache 的计算机详细信息:
Windows 10
Wampserver 3.2.3
phpMyAdmin 5.0.2
Adminer 4.7.7
Apache 2.4.46
PHP 7.4.9
MySQL 5.7.31
我想要放到网上的网站位于名为“site1”的文件夹中,这是我的 apache vhosts.conf:(计算机的私有 IP 是 192.168.254.13):
# Virtual Hosts
#
<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
ErrorLog "${INSTALL_DIR}/errors.log"
DocumentRoot "${INSTALL_DIR}/www"
<Directory "${INSTALL_DIR}/www/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
#
<VirtualHost *:80>
ServerName site1
ServerAlias 192.168.254.13
DocumentRoot "c:/wamp64/www/site1"
<Directory "c:/wamp64/www/site1/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Windows 主机文件:
127.0.0.1 localhost
127.0.0.1 site1
我的端口已正确转发。如果我将 localhost vhost 设置为“Require all grant”而不是“Require local”,我可以通过输入计算机的公共 IP 地址从手机上查看 Wampserver 的配置页面。
如有任何建议能够为我指明正确的方向,我将不胜感激。
答案1
当我尝试从其他设备访问我的 Wampserver 网站时,该设备将重定向到本地主机。
这里的一个问题是 Apache 有一个“默认”虚拟主机(它加载的第一个主机)。在本例中,这就是您的localhost
输入。当没有其他虚拟主机与请求匹配时(在本例中,当通过 IP 地址访问 Apache 时),将返回此主机。
顺便说一句,我认为ServerAlias
它不能用于 IP。据我所知,它仅适用于基于名称的虚拟主机。