configuration虚拟主机以使用名称和端口号

在我的本地机器上,我有几个命名的虚拟主机设置在Apache,所有的端口80。

NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "/site1" ServerName http://site1.local <Directory "site1" > Options +Includes Order Deny,Allow Allow from all </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot "/site2" ServerName http://site2.local <Directory "site2" > Options +Includes Order Deny,Allow Allow from all </Directory> </VirtualHost> 

为了在移动设备上进行testing,我需要通过我的计算机的IP地址访问这些站点,在这种情况下,首先声明的虚拟主机是默认的。 我假设我需要在不同的端口上设置一些东西,以便能够访问同一个IP地址上的多个虚拟主机,但是我已经尝试了很多变化,并且无法使用远程端口工作但是这个名字在当地仍然有效。

如何设置在不同端口上命名和侦听的多个虚拟主机。 这甚至有可能吗?

我最终find了答案。

诀窍就是使用

 <VirtualHost *:80 *:otherportnumber> 

这样,服务器名称工作(因为侦听:80),IP地址+端口号工作(因为没有其他指定的主机正在侦听该端口号)

当然,您只需在<VirtualHost>标签中指定IP地址即可。 这意味着您需要为每个虚拟主机分配不同的IP地址,但是如果您需要通过IP地址进行区分,则已经分配了这些地址。

ServerName子句应如下所示:

 ServerName test.example.org 

对于同一IP和端口上的多个虚拟主机,其余configuration都可以。 对于不同的IP,womble的答案是正确的。