Linux

對 apache2 虛擬主機使用不同的預設文件

  • July 4, 2014

我正在使用 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 中的一個全域設置。我搜尋了這些東西,但找不到很好的解釋或方法。

不確定您是否需要站點二或 viseversa 內的 one.php,但您總是可以這樣做:

DirectoryIndex one.php two.php three.php

一旦 site1.com 查找預設文件並看到 one.php,它將使用它作為預設文件。和其他site2.com 找不到one.php,因為它會顯示two.php?

但取決於你的全部要求是什麼。

我猜 DirectoryIndex 是一個在 VirtualHost 中不起作用的設置,而是 apache2.conf 中的一個全域設置。

無需猜測它在文件中

對於 Apache 2.2 DirectoryIndex在 VirtualHost 上下文中有效,對於 Apache 2.4 DirectoryIndex也是如此。

引用自:https://serverfault.com/questions/609983