Apache 如何通过Internet访问XAMPP上的多个站点

Apache 如何通过Internet访问XAMPP上的多个站点,apache,xampp,httpd.conf,vhosts,portforwarding,Apache,Xampp,Httpd.conf,Vhosts,Portforwarding,我需要一些建议如何更改XAMPP配置,以便我可以通过Internet访问多个网站 这是我当前的配置。当我尝试在本地访问site1和site2时,它会起作用,但只有当我尝试通过Internet访问site1时,它才会起作用: httpd.conf: 听80 httpd vhosts.conf NameVirtualHost * <VirtualHost *:80> DocumentRoot "C:\site1" ServerName site1.com <Direc

我需要一些建议如何更改XAMPP配置,以便我可以通过Internet访问多个网站

这是我当前的配置。当我尝试在本地访问
site1
site2
时,它会起作用,但只有当我尝试通过Internet访问
site1
时,它才会起作用:

httpd.conf
听80

httpd vhosts.conf

NameVirtualHost *

<VirtualHost *:80>
  DocumentRoot "C:\site1"
  ServerName site1.com
  <Directory "C:\site1">
    Order allow,deny
    Allow from all
    Require all granted
  </Directory>
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot "C:\site2"
  ServerName site2.com
  <Directory "C:\site2">
    Order allow,deny
    Allow from all
    Require all granted
  </Directory>
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot "C:\xampp\htdocs"
  ServerName localhost
</VirtualHost>
<VirtualHost *:8001>
      DocumentRoot "C:\site2"
      ServerName site2.com
      <Directory "C:\site2">
        Order allow,deny
        Allow from all
        Require all granted
      </Directory>
    </VirtualHost>
并尝试通过以下方式访问第二个网站:

我的ip地址:8001

然而,这是行不通的。有什么建议可以解决吗


注意:我在路由器上转发端口8001的方式与转发端口80的方式相同,因此我猜问题出在其他地方。

xampp并不真正适用于生产环境。是否有理由为每个站点使用不同的端口?将它们设置为端口80,使用指定的服务器名,并将它们添加到您的主机文件中,该文件位于C:\Windows\System32\drivers\etc中,提供您自己使用的域名。实际上,我使用它进行测试,我需要通过internet访问,因为有非常特定的测试。否则,我决定使用不同的端口,因为我不确定如何指示XAMPP识别我要通过端口80访问的站点。请使用主机文件并将它们添加到中。然后,您可以通过特定的pc访问这些域。如果您不拥有这些域,只需修改外部pc上的主机文件,将它们的域名指向您的IP。这是我的主机文件,我应该如何更改它
127.0.0.1 site1.com
127.0.0.1 site2.com
。另外,我应该为
site2
键入什么URL,以便重定向正确?我现在使用
我的ip地址:80
?使用与您在ServerName下的httpd-vhosts.conf中键入的相同的ip地址,是的,这在您的主机文件中很好,因为它将指向您的本地pc。重新启动apache后,您应该能够通过该pc上的URL访问(如果您对vhost进行了任何更改..否则您不需要重新启动)