定製Apache索引樣式

定製Apache索引樣式 2009-09-23 11:47:28          

分類:

#表示開啓了索引模式(也就是目錄瀏覽)
Options Indexes

indexOptions FancyIndexing ScanHTMLTitles NameWidth=128 DescriptionWidth=256 HTMLTable VersionSort FoldersFirst

可用參數,含義如下:

#ScanHTMLTitles:搜索HTML標題
#NameWidth:文件命顯示字節數
#DescriptionWidth:描述顯示字節數
#HTMLTable:允許HTML格式
#FoldersFirst:目錄優先

SuppressLastModified 在目錄中禁止顯示最近的修改時間

#索引排除語法

IndexIgnore header.html footer.html

header.html footer.html 這兩個文件不會在索引(目錄瀏覽)中出現。

#索引頭部嵌入文件
HeaderName /data/index/header.html

#索引底部嵌入文件
ReadmeName /data/index/footer.html

ReadmeName: 指定該目錄列表的footer模板,指定一個html文件後,Apache會在目錄列表的底部加載這個網頁。(注意:文件路徑是相對於列表目錄的根而言的,並不是相對於系統根或者網站根。)
HeaderName: 指定該目錄列表的header模板,指定一個html文件後,Apache會用這個網頁替換掉默認目錄列表上面呆板的Index of …..。(注意:文件路徑是相對於列表目錄的根而言的,並不是相對於系統根或者網站根。)

#默認索引排序方式
IndexOrderDefault Ascending Date

#關閉服務器標誌
ServerSignature Off

Apache一目錄索引顯示風格定製
在Apache中有目錄索引是由mod_autoindex模塊負責完成的。它把當前目錄結果轉換成html頁面。在默認情況下,有很多地方讓人感覺不 爽,比如文件名寬度太窄(只有可憐的23字節),圖標太大,有點傻傻的,好多文件類型沒有關聯。幸好Apache開發人員早就想到這一點,提供了讓用戶定 制的命令。官方詳細介紹可以去上面的超鏈去看看。

索引風格控制命令:
IndexOptions Directive //Dirctive 是命令選項,見下面實例

下面介紹常用的設置(都寫在httpd.conf文件中):
修改自動目錄索引的寬度
缺省設置下,Apache默認每欄寬度是23字節,對於文件名來說,實在是太短了。一般要求60字節
IndexOptions NameWidth=60

修改圖標尺寸
系統默認好像是24,經過試驗,發現16的效果比較好。
IndexOptions IconHeight=16
IndexOptions IconWidth=16

目錄優先
系統默認是文件優先,和我們平時的習慣不一致。改過來。
IndexOptions FoldersFirst

版本排序
無須多說,加上吧。對於中文來說,是按照拼音順序排序的。
IndexOptions VersionSort

圖標優化
默認的圖標有不少比較難看,而且還有很多文件類型就沒有圖標,由於Solaris不支持Microsoft定義的各種文檔類型,顯示這些文件時都用問號圖標表達,或許代表Sun對Microsoft的態度,不過我可不這麼認爲,凡事還是清楚點好。
定製文件圖標分兩步,先用圖標工具抓取常用圖標,象Word,Excel,Powerpint,Rar,Pdf。另外,默認的目錄圖標看上去也不爽,乾脆 把 Window的那套東西都搬過來。完成後,把這些圖標(格式爲gif或png)全部存到/usr/local/apache2/icons目錄下。對於目 錄圖標,我直接用微軟的圖標替換了那個名字叫folder.gif的文件。
接下來,用AddIcon命令把圖標和文件類型關聯起來。
AddIcon /icons/word.gif .doc .DOC
AddIcon /icons/excel.gif .xls .XLS
AddIcon /icons/rar.gif .rar .RAR
AddIcon /icons/srm.gif .srm .SRM
AddIcon /icons/powerpoint.gif .ppt .PPT
AddIcon /icons/access.gif .mdb .MDB

上面是我喜歡的文件類型,注意可別忘了大小寫都加上哦。
完成後,重新啓動apache,哈哈,終於看到了。可是,有幾個類型還是沒有顯示出來L,它們是:rar,srm,mdb。
又仔細分析了一下配置文件,發現可能和文件類型有關。
Apache有一個專門負責文件類型的文件:mime.types,裏面爲每個文件進行了詳細分類。比如有:application,image,audio,video。在裏面狂搜了一遍,沒有上面的那三個類型,於是在前面增加如下定義:
# MIME type Extensions
application/winrar rar
application/srm srm
application/access mdb

重新啓動apache,OK。

Apache目錄索引的簡易配置
  使用Apache配置簡易的目錄索引,登錄者可以方便瀏覽、下載目錄之下的內容。

  過程:(以下均爲有root權限時的操作)

  1.安裝apache:pacman -S apache

  2.配置apache:vi /etc/httpd/conf/httpd.conf

  #管理員的E-mail,出錯時發送錯誤的郵件地址

  ServerAdmin [email][email protected][/email]

  #服務器名,沒有域名就寫IP

  ServerName My IP:80

  #主目錄地址

  DocumentRoot “/path/to/server”

  #設置默認主目錄的權限,下面需要用到

  

  Order deny,allow

  Allow from all

  

  #使用別名,將系統絕對路徑轉換爲相對於DocumentRoot的相對路徑

  Alias /home “/home/httpd”

  #配置瀏覽目錄的選項

  

  #選項爲索引方式

  Options Indexes

  #索引選項,目錄優先

  IndexOptions FancyIndexing FoldersFirst

  #索引排除選項

  IndexIgnore header.html footer.html

  #索引頭部嵌入文件(只可使用相對http主目錄的相對路徑,而不是系統的絕對路徑)

  HeaderName /home/html/header.html

  #索引底部嵌入的文件(同上,”/home”使用了別名,同時要爲那個目錄設置權限)

  ReadmeName /home/html/footer.html

  #關閉服務器標誌

  ServerSignature Off

  #使用.htaccess文件可以得到的控制水平

  AllowOverride None

  #控制訪問權限

  Order allow,deny

  Allow from all

  

  所作的修改就這麼多,其它的都是系統默認,不考慮安全、性能等,基本能正常跑起來了。

  3.運行apache:httpd -k start

  簡單的配置就這麼多,Apache的配置和組合還有好多好多,以後再細細研究

個性化Apach2目錄列表

個性化Apach2目錄列表,主要取決於對modautoindex模塊中的各種指令的使用和配合。可以去先閱讀一下Apache2.0手冊中的modautoindex模塊文檔。

文檔地址: [url]http://httpd.apache.org/docs/2.0/mod/mod_autoindex.html[/url]

在開始之前,請看一個個性化目錄列表的演示地址: [url]http://nanu.8866.org/download[/url]

下面,我們就開始動手:

一、修改httpd.conf文件

對需要個性化的目錄進行定製:

<Directory “/www/download”>
   Options Indexes FollowSymlinks
   IndexOptions FancyIndexing ScanHTMLTitles NameWidth=25 DescriptionWidth=128 VersionSort FoldersFirst
   IndexIgnore favicon.ico header.html footer.html images
   HeaderName header.html
   ReadmeName footer.html
   AddDescription “Qmail安裝包” qmail.tar.gz
   AddDescription “Putty0.58” putty.exe
   AddDescription “我的MSN頭像:P” msn.gif
   IndexOrderDefault Ascending Name
   AllowOverride None
   Order allow,deny
   Allow from all
< /Directory>

部分指令說明:

ScanHTMLTitles:如果目錄中含有HTML文件,則Apache會自動讀取HTML文件的<title>……部分,用HTML文件的標題作爲Description(描述)顯示在列表目錄中的 Description部分。。(注意:加載該指令會加大CPU的負荷!)

NameWidth=25 :指定目錄列表可以顯示最長爲25字節的文件/目錄名,如果使用*來做值,會自適應到最長文件名。

DescriptionWidth=128:指定目錄列表可以顯示最長爲128字節的文件/目錄描述內容。

VersionSort:如果目錄中含有同一文件的不同版本,則Apache會對該文件按照版本號自動排序。

FoldersFirst:最先列出文件夾會使顯示效果更好看一些吧!

IndexIgnore:在它後面設定的文件/目錄不會在目錄列表中顯示。

HeaderName:指定該目錄列表的header模板,指定一個html文件後,Apache會用這個網頁替換掉默認目錄列表上面呆板的 Index of …..而顯示出個性化的頭網頁。(注意:文件路徑是相對於列表目錄的根而言的,並不是相對於系統根或者網站根而言的!)

ReadmeName:指定該目錄列表的footer模板,指定一個html文件後,Apache會在目錄列表的底部加載這個網頁。(注意:文件路徑是相對於列表目錄的根而言的,並不是相對於系統根或者網站根而言的!)

AddDescription:如果你想爲某個文件設置一個Description(描述)的話,就使用這個指令,格式是AddDescription “描述” 文件名 。

IndexOrderDefault Ascending Name:指定目錄列表的排序方式爲按名稱排序。

當然,還可以定製很多其他的內容,包括可以爲每一個文件設定一個圖標等等,去讀文檔吧。

二、建立header.html和footer.html

這兩個文件是列表目錄的頭網頁和尾網頁,也是個性化的關鍵。其實這部分和Apache水平已經沒有什麼關係了,主要還是看你製作網頁水平如何了,呵呵。

這裏給出兩個文件的格式:

header.html:

<!– 個性化內容開始 –>
可以在這裏加入個性化內容,圖片、FLASH、表格等等,隨意啦!
<!– 個性化內容結束 –>
< !– 嵌入列表目錄 –>
< table>
< td>
< tr>
footer.html:

</tr>
< /td>
< /table>
< !– 目錄列表嵌入結束 –>
< !– 個性化內容開始 –>
可以在這裏加入個性化內容,圖片、FLASH、表格等等,隨意啦!
<!– 個性化內容結束 –>

可以看出,其實個性化的原理就是把Apache的目錄列表嵌在了header.htm的<\table>< \tr><\td>與footer.html的<\/td><\/tr><\/table>之 間,兩個文件的其他部分都可以自定義內容的。

建立好這兩個文件後,就可以重啓apache,看看自己的定製的目錄有多漂亮吧!

 

文章來源http://blog.chinaunix.net/uid-10697776-id-2935521.html

發佈了33 篇原創文章 · 獲贊 58 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章