对 apache2 虚拟主机使用不同的默认文档

对 apache2 虚拟主机使用不同的默认文档

我正在使用 apache2 在 ubuntu 14 服务器上设置几个站点。我复制了 000-default.conf 并创建了 site1.conf。然后我更改了一些设置,重新加载了 apache2,现在几乎所有东西都正常工作了。只是 DirectoryIndex 设置中的默认文档没有被遵守。我的 site1.conf 看起来类似于以下内容:

<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  ServerName site1.com
  DocumentRoot /var/www/site1
  ServerAlias *.site1.com
  DirectoryIndex one.php
</VirtualHost>

但我的问题是http://site1.com/仍然显示 index.html,而不是我想要显示的 one.php。请注意,一旦我让它工作,我想设置 site2.com 并让它使用默认文档 two.php。
我猜 DirectoryIndex 是一个在 VirtualHost 中不起作用的设置,而是 apache2.conf 中的全局设置。我搜索了这些东西,但找不到好的解释或方法。

答案1

不确定您是否需要站点二内的 one.php 或 viseversa,但您始终可以这样做:

DirectoryIndex one.php two.php three.php

一旦 site1.com 查找默认文件并看到 one.php,它就会将其用作默认值。而其他 site2.com 将找不到 one.php,因为它会显示 two.php?

但取决于你的全部要求是什么。

答案2

我猜测 DirectoryIndex 是一个在 VirtualHost 内部不起作用的设置,而是 apache2.conf 中的全局设置。

无需猜测它在文档中

对于 Apache 2.2目錄索引在 VirtualHost 上下文中有效,Apache 2.4 也是如此目錄索引

相关内容