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

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

 


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

Apache模块 mod_alias


现有的语种:  en  |  ja 

说明:提供对文件系统到文档树的映射和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

现有的语种:  en  |  ja 

 


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

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