2016-12-11 46 views
1

的Apache2的MOD 自動索引允許包括頭部和自述文件,說我這樣配置的目錄的.htaccessApache2的MOD自動索引不讀.PHP

ReadMeName footer.html 
HeaderName header.php 

對於一些模糊的原因,頭部文件不被讀取,如果它是.php。我給它改名到了header.html和htaccess的太:

HeaderName header.html 

,它(時.html它包括<?php ?>加價甚至)

爲什麼阿帕奇做帽子的完美工作,並且是有辦法修理它?

+0

你讀過這個嗎? https://httpd.apache.org/docs/2.4/mod/mod_autoindex.html#headername –

+0

這樣做,讓我先旋轉它自己。 –

+0

實際上它沒有工作...我刪除了我的評論,所以你不會看到它,但顯然太晚^^ – joH1

回答

0

每手動上mod_autoindex/HeaderName directive

文件名必須解析爲與主要內容類型文本 的文件/ *(例如,文本/ HTML,文本/無格式,等等)。這意味着,文件名 可以指的是CGI腳本,如果腳本的真實文件類型(而不是 到其輸出)被標記爲text/html ...

...而.php文件的內容類型被定義爲application/x-httpd-php,即使腳本的輸出默認爲text/html。但是,還有希望。您可以將您HeaderName指令之前實際獲得通過添加以下組合到您的.htaccess解析的PHP:

AddHandler application/x-httpd-php .php 
AddType text/html .php 

兩個都不對自己將做的工作。我認爲這裏的Apache(在2.4上測試過)首先設置一個處理程序並分析.php文件,然後同意理解輸出類型主要是text/html。我打電話給這個古怪的,但它的工作!

+0

我在Apache 2上; 4,它可以改變什麼嗎? – joH1

+0

我也在2.4上,這對我很有用。 FWIW,在我的'httpd.conf'中除了上面的內容(儘管它在快速測試中不會有什麼不同):'IndexOptions FancyIndexing HTMLTable VersionSort FoldersFirst NameWidth = * XHTML SuppressDescription'。 –

+0

在我的CentOS盒子上也可以正常工作在Apache 2.2上。這裏是一個採樣器,將''.htaccess'作爲'htaccess.txt'克隆在那裏:http://codesatori.com/tmp/autoindex/ ...(使用我的服務器的默認樣式表,以防萬一。)哦,我在本地和遠程服務器上運行PHP(7.0.2)作爲'mod_php',不知道以CGI運行可能會改變它的工作方式。我覺得'AddHandler'面對'AddType'是Apache中比較晦澀的角落。 –