Windows – 通过LAN从另一台机器访问虚拟主机

前端之家收集整理的这篇文章主要介绍了Windows – 通过LAN从另一台机器访问虚拟主机前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Wamp 2.2服务器的Windows 7。
我设置了2个虚拟主机www.project1.com和www.project2.com。
我已经在hosts文件添加了这些条目,并在httpd.conf和httpd-vhosts.conf文件添加了必需的条目。
使用我的浏览器,当我键入www.project1.com或www.project2.com,我得到我的网页在笔记本电脑上与服务器打开。

主机文件中的更改。在文件末尾附加:

  1. 127.0.0.1 localhost
  2. 127.0.0.1 www.project2.com
  3. 127.0.0.1 www.project1.com

httpd.conf文件中的更改: –

  1. Include conf/extra/httpd-vhosts.conf

httpd-vhosts文件中的更改: –

  1. NameVirtualHost *:80
  2.  
  3. <Directory "D:/websites/">
  4. AllowOverride All
  5. Order Deny,Allow
  6. Allow from all
  7. </Directory>
  8. <VirtualHost 127.0.0.1>
  9. DocumentRoot "D:/websites/wamp/www/"
  10. ServerName localhost
  11. </VirtualHost>
  12.  
  13.  
  14. <VirtualHost 127.0.0.1>
  15. DocumentRoot "D:/websites/project1/"
  16. ServerName www.project1.com
  17. </VirtualHost>
  18.  
  19.  
  20. <VirtualHost 127.0.0.1>
  21. DocumentRoot "D:/websites/project2/"
  22. ServerName www.project2.com
  23. </VirtualHost>

现在,我可以从PC_1(与服务器)浏览器打开这些网页,如何从PC_2的浏览器(通过LAN连接到PC1的PC上)访问这些网页?

在您的虚拟主机指令中,将127.0.0.1更改为*:80,并按照Gabriel的说法,在另一台机器中的hosts文件添加一个条目,将您的域添加到与服务器的IP相关联。

当您将明确的IP放入指令时,apache只会侦听该IP,但通配符会告诉它绑定到所有可用的IP。

  1. <VirtualHost *:80>
  2. DocumentRoot "D:/websites/project1/"
  3. ServerName www.project1.com
  4. </VirtualHost>

例如,如果您的服务器位于192.168.1.70,则在lan上的其他机器中,主机条目将如下所示:

  1. 192.168.1.70 www.project1.com

重新启动apache,它应该工作正常。

注意,当您使用虚拟主机时,apache将使用第一个定义作为默认值,当它不能在HTTP请求头中传递的域和配置中的站点设置之间进行匹配时,这就是为什么默认页面出现。

您告诉apache使用NameVirtualHost *:80指令绑定到所有IP,但是后来没有为该外部IP设置一个站点。希望有帮助!

猜你在找的Windows相关文章