Apache2意外redirect:虚拟主机DirectoryIndex不自动提供index.php

我有两个安装在Ubuntu 16.04 VPS上的Apache虚拟主机

  • site1.example.com是一个function正常的WordPress网站。

  • site2.example.com是一个新增的网站,其文档根目录中只有index.php

当我在浏览器中访问site2.example.com时,它意外地redirect到site1.example.com (WP网站)。

但是,如果我访问site2.example.com/index.php将按预期方式显示。

以下是/etc/apache2/sites-available中的.conf文件的内容:

site1.conf:

 <VirtualHost *:80> ServerName site1.example.com DirectoryIndex index.html index.php DocumentRoot /var/www/html/site1.example.com/public_html </VirtualHost> 

site2.conf:

 <VirtualHost *:80> ServerName site2.example.com DirectoryIndex index.html index.php DocumentRoot /var/www/html/site2.example.com/public_html </VirtualHost> 

我能做些什么来让http://site2.example.com/显示index.php而不需要在URL中明确要求?

如果有人有任何build议或需要看到我的configuration的另一部分,请让我知道。

它意外地redirect到site1.example.com

如果您看到一个3xxredirect,并且您目前没有configuration任何外部redirect,那么您可能会看到一个cachingredirect – 在这种情况下似乎是这种情况。 确保浏览器caching被清除。 任何301(永久)redirect都被浏览器caching – 即使只是简单地用于testing。 (另一方面,302个临时redirect不被caching。)

请注意, site2.example.com/site2.example.com/index.php是两个不同的URL,因此独立caching。

也许site2.example.com/被较早的规范域redirect捕获?