我的台式机上运行着 XAMPP,我可以在它上面完成所有工作,没有任何问题。
http://localhost ---> points to public_html
http://site1.localhost ---> points to site 1
http://site2.localhost ---> points to site 2
http://site3.localhost ---> points to site 3
在装有 Apache 的机器上的 Web 浏览器中输入上述 URL 效果很好,而且我可以在不同的子域内处理多个站点。
但我现在想要做的是将 Apache 和所有文件传输到 LAN 内的另一台 Windows 7 机器,但仍然能够从我的主要开发机器上查看子域。
在新的托管机器上安装原始 XAMPP 后,在我的开发计算机中输入该机器的 IP 地址(例如 192.168.1.10)就会进入主 public_html 文件夹。
但是我该如何设置子域名以便从外部访问它呢?例如,http://site1.devmachine
谢谢你的帮助。
答案1
编辑工作站的 %systemroot%/system32/drivers/etc/hosts 并添加:
192.168.1.10 site1.devmachine
192.168.1.10 site2.devmachine
这会将 site2.devmachine 解析为新开发服务器的 IP 地址。由于您在发出请求时会将主机标头发送到开发服务器,因此 Apache 知道要加载哪个虚拟主机。
您要知道,.devmachine 可以是任何东西:您甚至可以将 realdomain.tld 放入其中(虽然我不推荐这样做;我发现我会忘记它并想知道为什么该网站看起来很“旧”)。
我发现在 DNSMasq 中设置通配符并进行拆分 DNS 更加容易,这样当我在 LAN 上时,我可以调出与远程访问相同的站点(我使用 *.dev.mydomain.com,* 被客户端名称替换;我的真实 Internet DNS 服务器也有相同的通配符条目)在客户端进行演示时。现在,当我想设置一个新站点进行工作时,我只需在 Apache 中创建一个新的虚拟主机,而不必担心 DNS。
答案2
向您的网络添加 DNS 服务器并为 site1.devmachine.local 等创建条目。
让您的开发机器使用此 DNS 服务器。
但这可能有点过头了。你可以更轻松地将条目添加到主办方归档c:\WINDOWS\system32\drivers\etc。这仅适用于你的开发机器。
添加如下条目:
192.168.1.22 站点1.devmachine.本地
192.168.1.22 站点2.devmachine.本地
192.168.1.22 站点3.devmachine.本地