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让服务器在列出文件列表时忽略相应的文件,这里使用模式配置的方式定义文件名 。

推荐阅读