Apache 2.0手册中文版翻译项目 [本文译者: kajaa * ]

项目说明 | 项目进度 | 项目讨论区 | Apache手册中文版

 


mod_alias - Apache HTTP服务器
<-
Apache主站 > HTTP服务器 > 文档 > 2.0版本 > 模块索引

Apache模块 mod_alias

说明:提供对文件系统到文档树的映射和URL的重定向
状态:Base
模块名:alias_module
源文件:mod_alias.c

概要

此模块提供的指令可以操控作为请求到达服务器的URL。 AliasScriptAlias指令用于在URL和文件系统路径之间实现映射, 使不在DocumentRoot目录下的内容也能成为文档树的一部分, 其中,ScriptAlias指令有更多的一层含义, 它标明此目标目录下只有CGI脚本。

Redirect 指令引导客户端以一个不同的URL产生一个新的请求, 常用于一个资源被移动到一个新的位置的时候。

指令索引

参见

top

Alias 指令

说明:映射URL到文件系统的特定区域
语法: Alias URL-path file-path|directory-path
上下文:服务器配置, 虚拟主机
状态:Base
模块:mod_alias

Alias指令使文档可以被存储在DocumentRoot以外的本地文件系统中。 以(%已经被解码的)url-path路径开头的URL可以被映射到以 directory-filename开头的本地文件。

例子:

Alias /image /ftp/pub/image

对http://myserver/image/foo.gif的请求,服务器将返回/ftp/pub/image/foo.gif文件.

注意:如果url-path中有后缀的 /,则服务器要求有后缀 /以扩展此别名。 即,Alias /icons/ /usr/local/apache/icons/并不能对/icons实现别名。

注意,可能需要额外指定一个<Directory>段来覆盖别名的最终对象。 由于只有出现在<Directory>段之前的别名才会被检测, 所以它只对最终对象生效。(由于执行别名操作之前,<Location>段会被首先扫描一次,所以它们也是有效的)

top

AliasMatch 指令

说明:使用正则表达式映射URL到文件系统
语法:AliasMatch regex file-path|directory-path
上下文:服务器配置, 虚拟主机
状态:Base
模块:mod_alias

这个指令与Alias等效, 但是它使用了标准的正则表达式,而不是简单的前缀匹配。如果此正则表达式与URL-path相匹配, 则服务器会用给定的字符串替换加了括弧的匹配,并视之为一个文件名。 例如,要使用/icons目录,可以:

AliasMatch ^/icons(.*) /usr/local/apache/icons$1

top

Redirect 指令

说明:发送一个外部重定向使客户端转向到一个不同的URL
语法:Redirect [status] URL-path URL
上下文:服务器配置, 虚拟主机, 目录, .htaccess
覆盖项:FileInfo
状态:Base
模块:mod_alias

Redirect指令映射一个老的URL为一个新的URL,此新的URL被返回到客户端使之转向新的地址。 对任何以(已%解码的)URL-path开头的文档的请求, 将返回一个新的以(已%解码的)URL开头的URL的重定向错误。

例子:

Redirect /service http://foo2.bar.com/service

如果客户端请求http://myserver/service/foo.txt, 则会被告知应该访问http://foo2.bar.com/service/foo.txt。

注意

重定向指令优先于Alias 和ScriptAlias 指令, 而无关于其在配置文件中的顺序。 而且,URL-path必须是一个绝对路径,而不是相对路径,即使是用在.htaccess文件或者<Directory>段中的时候。

如果没有指定status参数,则重定向是"临时性的"(HTTP status 302)。 即,对客户端来说,此资源的位置变动是临时性的。 此status参数可以返回以下HTTP状态码:

permanent
返回一个永久性重定向状态码(301),表示此资源的位置变动是永久性的。
temp
返回一个临时性重定向状态码(302). 这是默认值。
seeother
返回一个"参见(See Other)"状态码(303),表示此资源已经被替代。
gone
返回一个"已废弃(Gone)"状态码(410),表示此资源已经被永久性地删除了。 如果指定了这个状态码,则url参数将被忽略。

status可以被指定为数字状态以返回其他状态码。 如果此状态在300-399之间,则必须提供url参数, 否则将被忽略。 注意,此状态码必须是Apache已知的 (参见 http_protocol.c中的send_error_response函数)。

例子:

Redirect permanent /one http://example.com/two
Redirect 303 /three http://example.com/other

top

RedirectMatch 指令

说明:基于正则表达式匹配对当前的URL发送一个外部重定向
语法:RedirectMatch [status] regex URL
上下文:服务器配置, 虚拟主机, 目录, .htaccess
覆盖项:FileInfo
状态:Base
模块:mod_alias

此指令与Redirect等效, 但是它使用了标准的正则表达式,而不是简单的前缀匹配。 如果此正则表达式与URL-path相匹配, 则服务器会用给定的字符串替换加了括弧的匹配,并视之为一个文件名。 例如,重定向所有的GIF文件到另一个服务器上同名的JPEG文件,可以:

RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg

top

RedirectPermanent 指令

说明:发送一个外部永久性重定向使客户端转向到一个不同的URL
语法:RedirectPermanent URL-path URL
上下文:服务器配置, 虚拟主机, 目录, .htaccess
覆盖项:FileInfo
状态:Base
模块:mod_alias

此指令告知客户端此重定向是永久性的(status 301). 与Redirect permanent等效.

top

RedirectTemp 指令

说明:发送一个外部临时性重定向使客户端转向到一个不同的URL
语法:RedirectTemp URL-path URL
上下文:服务器配置, 虚拟主机, 目录, .htaccess
覆盖项:FileInfo
状态:Base
模块:mod_alias

此指令告知客户端此重定向只是临时性的(status 302). 与Redirect temp等效.

top

ScriptAlias 指令

说明:映射一个URL到文件系统并视之为CGI脚本
语法:ScriptAlias URL-path file-path|directory-path
上下文:服务器配置, 虚拟主机
状态:Base
模块:mod_alias

ScriptAlias指令的行为与Alias指令相同, 但同时它又标明此目录中含有应该由mod_cgi中cgi-script处理器处理的CGI脚本。 以URL-path开头的(已被%解码)的URL会被映射到由第二个参数指定的 具有完整路径名的本地文件系统中的脚本。

例子:

ScriptAlias /cgi-bin/ /web/cgi-bin/

http://myserver/cgi-bin/foo的请求会引导服务器执行/web/cgi-bin/foo脚本.

top

ScriptAliasMatch 指令

说明:使用正则表达式映射一个URL到文件系统并视之为CGI脚本
语法:ScriptAliasMatch regex file-path|directory-path
上下文:服务器配置, 虚拟主机
状态:Base
模块:mod_alias

此指令与ScriptAlias等效, 但是它使用了标准的正则表达式,而不是简单的前缀匹配。 如果此正则表达式与URL-path相匹配, 则服务器会用给定的字符串替换加了括弧的匹配,并视之为一个文件名。 例如,要使用标准的/cgi-bin,可以:

ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1

 


项目维护者: kajaa [本文译者: kajaa * ]

项目说明 | 项目进度 | 项目讨论区 | Apache手册中文版