Apache虚拟主机无法在.com域上工作

我有一个奇怪的问题。

我有两个域:mysite.co.uk和mysite.com,它们需要指向我的服务器上的同一个目录。 为mysite.co.uk VHost完美的作品。 但是,mysite.com将无法正常工作。

当我重新启动apache时,我看不到任何错误。 当我进入域时,它正在到达正确的服务器,但在/ var / www中显示索引文件,而不是redirect/var/www/html/mysite.co.uk/web/

我的代码有错误吗? 这与mysite.co.uk的configuration完全相同,所以我很困惑,为什么它不能正常工作。

可用网站:

<VirtualHost *:80> ServerName mysite.com DocumentRoot /var/www/html/mysite.co.uk/web/ ServerAlias *mysite.com </VirtualHost> 

的apache.conf:

 <VirtualHost *:80> ServerName *.mysite.com DocumentRoot "/var/www/html/mysite.co.uk/web/" </VirtualHost> 

只要您要在这两个URL上显示的内容位于服务器上的相同文件夹中,就应该可以使用单个虚拟主机条目执行此操作。

 <VirtualHost *:80> ServerName mysite.com ServerAlias mysite.co.uk *.mysite.co.uk *.mysite.com DocumentRoot /var/www/html/mysite.co.uk/web/ </VirtualHost> 

如果您在一个单独的文件中设置了新的虚拟主机,您也可能会被默认的虚拟主机背叛。

如果你正在运行的Ubuntu(或其他发行版),你可以使用命令行中的“apache2ctl -D DUMP_VHOSTS”来显示正在接受哪些ServerNames以及它们所在的configuration文件:行。

注意 – 这不会列出在ServerAlias行上添加的地址

我不认为你应该在你的第二个ServerName指令中使用通配符(在Apache.conf中),如果你有多个mysite.com子域,可以尝试用wwwreplace现有的通配符别名服务器将响应。