2015-12-11 49 views
2

嗨,我正在一個項目,我有兩個索引文件的根,一個是index.php和其他是index.html。我想o設置默認頁面index.php,如果它不可用,那麼它應該爲index.html工作。 我在互聯網上搜索了很多,並找到了以下解決方案。無法在apache2中設置默認索引頁[Debian 7.1]

DirectoryIndex index.php index.html 

我使用我的網站上這樣的代碼:

<Directory "/home/zhengyu/webroot/engine5g/rentown.com/"> 
      DirectoryIndex index.php index.html default.htm 
</Directory> 

我也曾嘗試另一種方式:

<Directory "/home/zhengyu/webroot/engine5g/rentown.com/"> 
      DirectoryIndex index.php index.html 
      Options Indexes FollowSymLinks MultiViews 
      AllowOverride None 
      DirectoryIndex index.php index.html 
      Order allow,deny 
      allow from all 
</Directory> 

但他們沒有工作,它總是讓index.php文件默認,但是當它不可用時它不會加載index.html。

如果我先編寫index.html然後index.php,然後加載index.html,但如果index.html不可用,則不加載index.php。

總之,我們可以說首選項不起作用。

回答

1

您可以指定多個文件名,Web服務器將搜索每個文件,直到找到匹配項。考慮這個例子指令:

寫入到這個根你的htaccess文件:

DirectoryIndex index.php index.html 

在這個指令,當訪問者請求目錄名,網絡 服務器首先查找的index.php文件文件。如果找不到 index.php文件,它會查找index.html文件,依此類推,直到 找到匹配項或用盡文件進行搜索。

或者嘗試這種方式

# Example A: Set index.html as an index page, then add index.php to that list as well. 
<Directory "/foo"> 
    DirectoryIndex index.html 
    DirectoryIndex index.php 
</Directory> 

# Example B: This is identical to example A, except it's done with a single directive. 
<Directory "/foo"> 
    DirectoryIndex index.html index.php 
</Directory> 

# Example C: To replace the list, you must explicitly reset it first: 
# In this example, only index.php will remain as an index resource. 
<Directory "/foo"> 
    DirectoryIndex index.html 
    DirectoryIndex disabled 
    DirectoryIndex index.php 
</Directory> 

來源:

+0

我已經試過這個,但它不起作用 –

+0

@Insomania你可以在這裏粘貼你的htacess規則嗎? – Suresh

+0

@Insomania我認爲你有路徑問題'/ home/zhengyu/webroot/engine5g/rentown.com /';嘗試改變它。 – Suresh