85 FreeBSD連載:配置Apache服務器(2)( 五 )


Alias /icons/ "/usr/local/www/icons/"Options Indexes MultiViewsAllowOverride NoneOrder allow,denyAllow from allAlias參數用于將URL與服務器文件系統中的真實位置進行直接映射,一般的文檔將在DocumentRoot中進行查詢,然而使用Alias定義的路徑將直接映射到相應目錄下,而不再到DocumentRoot下面進行查詢 。因此Alias可以用來映射一些公用文件的路徑,例如保存了各種常用圖標的icons路徑 。這樣使得除了使用符號連接之外,文檔根目錄(DocumentRoot)外的目錄也可以通過使用了Alias映射,提供給瀏覽器訪問 。
定義好映射的路徑之后,應該需要使用Directory語句設置訪問限制 。
ScriptAlias /cgi-bin/ "/usr/local/www/cgi-bin/"AllowOverride NoneOptions NoneOrder allow,denyAllow from allScriptAlias也是用于URL路徑的映射,但與Alias的不同在于,ScriptAlias是用于映射CGI程序的路徑,這個路徑下的文件都被定義為CGI程序,通過執行它們來獲得結果,而非由服務器直接返回其內容 。缺省情況下CGI程序使用cgi-bin目錄作為虛擬路徑 。
# Redirect old-URI new-URL
Redirect參數是用來重寫URL的,當瀏覽器訪問服務器上的一個已經不存在的資源的時候,服務器返回給瀏覽器新的URL,告訴瀏覽器從該URL中獲取資源 。這主要用于原來存在于服務器上的文檔,改變了位置之后,而又希望能使用老URL能訪問到,以保持與以前的URL兼容 。
IndexOptions FancyIndexingAddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzipAddIconByType (TXT,/icons/text.gif) text/*AddIconByType (IMG,/icons/image2.gif) image/*AddIconByType (SND,/icons/sound2.gif) audio/*AddIconByType (VID,/icons/movie.gif) video/*AddIcon /icons/binary.gif .bin .exeAddIcon /icons/binhex.gif .hqxAddIcon /icons/tar.gif .tarAddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .ivAddIcon /icons/compressed.gif .Z .z .tgz .gz .zipAddIcon /icons/a.gif .ps .ai .epsAddIcon /icons/layout.gif .html .shtml .htm .pdfAddIcon /icons/text.gif .txtAddIcon /icons/c.gif .cAddIcon /icons/p.gif .pl .pyAddIcon /icons/f.gif .forAddIcon /icons/dvi.gif .dviAddIcon /icons/uuencoded.gif .uuAddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tclAddIcon /icons/tex.gif .texAddIcon /icons/bomb.gif coreAddIcon /icons/back.gif ..AddIcon /icons/hand.right.gif READMEAddIcon /icons/folder.gif ^^DIRECTORY^^AddIcon /icons/blank.gif ^^BLANKICON^^DefaultIcon /icons/unknown.gif#AddDescription "GZIP compressed document" .gz#AddDescription "tar archive" .tar#AddDescription "GZIP compressed tar archive" .tgzReadmeName READMEHeaderName HEADERIndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t當一個HTTP請求的URL為一個目錄的時候,服務器返回這個目錄中的索引文件 。但如果一個目錄中不存在缺省的索引文件,并且該服務器又許可顯示目錄文件列表的時候,就會顯示出這個目錄中的文件列表,為了使得這個文件列表能具有可理解性,而不僅僅是一個簡單的列表,就需要前面的這些設置參數 。
如果使用了IndexOptions FancyIndexing選項,可以讓服務器產生的目錄列表中針對各種不同類型的文檔引用各種圖標 。而哪種文件使用哪種圖標,則使用下面的AddIconByEncoding、AddIconByType以及AddIcon來定義,分別依據MIME的編碼、類型以及文件的后綴來判斷使用何種圖標 。如果不能確定文檔使用的圖標,就使用DefaultIcon定義的缺省圖標 。
同樣,使用AddDescription可以為不同類型的文檔加入不同的描述 。并且,服務器還在目錄下,查詢使用ReadmeName和HeaderName定義的文件(自動加上.html后綴,如果沒有發現,再使用.txt后綴進行搜索),如果發現了這些文件,就在文件列表之前首先顯示這些文件的內容,以使得普通目錄列表具備更大的可理解性 。
IndexIgnore讓服務器在列出文件列表時忽略相應的文件,這里使用模式配置的方式定義文件名 。

推薦閱讀