![Apache2 意外重定向:Virtualhost DirectoryIndex 未自动提供 index.php](https://linux22.com/image/700258/Apache2%20%E6%84%8F%E5%A4%96%E9%87%8D%E5%AE%9A%E5%90%91%EF%BC%9AVirtualhost%20DirectoryIndex%20%E6%9C%AA%E8%87%AA%E5%8A%A8%E6%8F%90%E4%BE%9B%20index.php.png)
我在 Ubuntu 16.04 VPS 上设置了两个 Apache 虚拟主机。
site1.example.com
是一个正常运行的 WordPress 网站。site2.example.com
是一个新添加的站点,仅index.php
在其文档根目录中。
site2.example.com
当我在浏览器中访问时,它会意外地重定向到site1.example.com
(WP 网站)。
但是,如果我访问site2.example.com/index.php
,index.php
则会按预期显示。
.conf
以下是文件的内容/etc/apache2/sites-available
:
站点1.conf:
<VirtualHost *:80>
ServerName site1.example.com
DirectoryIndex index.html index.php
DocumentRoot /var/www/html/site1.example.com/public_html
</VirtualHost>
站点2.conf:
<VirtualHost *:80>
ServerName site2.example.com
DirectoryIndex index.html index.php
DocumentRoot /var/www/html/site2.example.com/public_html
</VirtualHost>
我该怎么做才能在未在 URL 中明确请求的情况下http://site2.example.com/
进行显示?index.php
如果有人有任何建议或需要查看我的配置的另一部分,请告诉我。
答案1
...它意外地重定向到
site1.example.com
如果您看到 3xx 重定向,并且您目前没有配置任何外部重定向,那么您看到的可能是缓存重定向 - 在这种情况下似乎就是这种情况。请确保清除浏览器缓存。任何 301(永久)重定向都会被浏览器硬性缓存 - 即使只是短暂用于测试。(另一方面,302 临时重定向不会被缓存。)
请注意site2.example.com/
和site2.example.com/index.php
是两个不同的 URL,因此是独立缓存的。
也许是site2.example.com/
被早期的规范域名重定向捕获了?