Linux
對 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 中的一個全域設置。我搜尋了這些東西,但找不到很好的解釋或方法。
不確定您是否需要站點二或 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也是如此。