我使用 wamp 在本地计算机上进行开发。当我开始一个新项目时,我会向 httpd.conf 文件添加一个新的虚拟主机条目,如下所示:
ServerName localhost:80
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
#DocumentRoot "c:/wamp/www/"
NameVirtualHost 192.168.1.103
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot "c:/wamp/wwwjack/"
</VirtualHost>
<VirtualHost 127.0.0.1>
ServerName fr.local
DocumentRoot "c:/wamp/fr/"
</VirtualHost>
<VirtualHost 127.0.0.1 192.168.1.103>
ServerName gg.local
DocumentRoot "c:/dev/gg/"
</VirtualHost>
<VirtualHost 127.0.0.1>
ServerName codeignite.local
DocumentRoot "c:/wamp/wwwcodeigniter/"
</VirtualHost>
我会定期打开本地网络上的 80 端口,以便让大家预览我正在做的事情。我并不是说要从我的家用电脑托管网站,只是提供快照。
将端口转发到我的本地 IP 后,我该如何设置,以便用户只需输入我的 IP 地址,他们就可以看到我希望他们查看的虚拟主机?我宁愿他们不必为此编辑他们的主机文件。
谢谢!
答案1
按照你现在的做法,你无法做到这一点。他们必须通过 VPN 接入你的网络才能正常工作。即使他们这样做了,你也必须使用你的局域网地址,而不是本地环回 (127.0.0.1)。
当 apache 收到请求时,它会尝试将其与 vhost 进行匹配,但是两者都不会匹配。
答案2
另一个选择是获取域名,并使用 DNS 为您的应用提供服务。所以...
newapp23.yourdomain.com
newapp25.yourdomain.com
将名称设置为您的家庭住址。您必须更改 VHost 描述以适应(并且您的代码也必须接受它),但它会起作用。
答案3
我认为你可以使用 No-IP 服务(http://no-ip.com/) 将您的 IP 转发到您的盒子。也许您可以将 noip 地址添加到 vhosts 列表中。不过不确定。祝你好运!