一个服务器上的Apache多个主机 – 不同的端口

我已经configurationApache来侦听端口80和8080,并创build了2个网站的conf文件。

港口80

<VirtualHost *:80> DocumentRoot /local/Web AddHandler cgi-script cgi Alias /access /local/Web/ <Directory "/local/Web"> AllowOverride All Options +ExecCGI DirectoryIndex index.html </Directory> </VirtualHost> 

访问127.0.0.1从/ local / Web加载正确的站点

端口8080

 <VirtualHost *:8080> DocumentRoot /local/Sites AddHandler cgi-script cgi Alias /site1 /local/Sites/site1/ Alias /site2 /local/Sites/site2/ Alias /site3 /local/Sites/site3/ <Directory "/local/Sites"> AllowOverride All Options +ExecCGI DirectoryIndex index.html </Directory> </VirtualHost> 

访问127.0.0.1:8080会导致访问被拒绝,这很好

访问127.0.0.1:8080/site1从/ local / Sites / site1加载正确的站点

访问127.0.0.1:8080/site2从/ local / Sites / site2加载正确的站点

访问127.0.0.1:8080/site3从/ local / Sites / site3加载正确的站点

我不能从端口80访问站点1,站点2,站点3,我无法访问/从端口8080访问 – 这是所有预期的。

我正在尝试使用一个新的conf文件将一个新的站点添加到端口80。 我希望这有它自己的conf文件:

 <VirtualHost *:80> DocumentRoot /local/Web AddHandler cgi-script cgi Alias /new /local/new <Directory "/local/Web"> AllowOverride All Options +ExecCGI DirectoryIndex index.html </Directory> </VirtualHost> 

然而,当我尝试任何访问127.0.0.1 /新我得到'对象没有find! 并没有在Apache的error_log中显示

任何想法如何获得/新的工作在港口80?

Apache不知道VirtualHost *:80应该使用哪个configuration。 你有两种方法来解决这个问题:

  1. 将这两个configuration合并成一个虚拟主机
  2. 使用ServerName和“主机名”URL来确定应该使用哪个VirtualHost。