在我的本地机器上,我有几个命名的虚拟主机设置在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的答案是正确的。