| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
| <HTML> |
| <HEAD> |
| <TITLE>Apache module mod_alias</TITLE> |
| </HEAD> |
| |
| <!-- Background white, links blue (unvisited), navy (visited), red (active) --> |
| <BODY |
| BGCOLOR="#FFFFFF" |
| TEXT="#000000" |
| LINK="#0000FF" |
| VLINK="#000080" |
| ALINK="#FF0000" |
| > |
| <!--#include virtual="header.html" --> |
| |
| <H1 ALIGN="CENTER">Module mod_alias</H1> |
| <P> |
| This module is contained in the <CODE>mod_alias.c</CODE> file, and |
| is compiled in by default. It provides for mapping different parts of the |
| host filesystem in the the document tree, and for URL redirection. |
| </P> |
| |
| <H2>Directives</H2> |
| <UL> |
| <LI><A HREF="#alias">Alias</A> |
| <LI><A HREF="#aliasmatch">AliasMatch</A> |
| <LI><A HREF="#redirect">Redirect</A> |
| <LI><A HREF="#redirectmatch">RedirectMatch</A> |
| <LI><A HREF="#redirecttemp">RedirectTemp</A> |
| <LI><A HREF="#redirectperm">RedirectPermanent</A> |
| <LI><A HREF="#scriptalias">ScriptAlias</A> |
| <LI><A HREF="#scriptaliasmatch">ScriptAliasMatch</A> |
| </UL> |
| <HR> |
| |
| |
| <H2><A NAME="alias">Alias directive</A></H2> |
| <P> |
| <!--%plaintext <?INDEX {\tt Alias} directive> --> |
| <A |
| HREF="directive-dict.html#Syntax" |
| REL="Help" |
| ><STRONG>Syntax:</STRONG></A> Alias <EM>url-path directory-filename</EM><BR> |
| <A |
| HREF="directive-dict.html#Context" |
| REL="Help" |
| ><STRONG>Context:</STRONG></A> server config, virtual host<BR> |
| <A |
| HREF="directive-dict.html#Status" |
| REL="Help" |
| ><STRONG>Status:</STRONG></A> Base<BR> |
| <A |
| HREF="directive-dict.html#Module" |
| REL="Help" |
| ><STRONG>Module:</STRONG></A> mod_alias |
| </P> |
| <P> |
| The Alias directive allows documents to be stored in the local filesystem |
| other than under the <A HREF="core.html#documentroot">DocumentRoot</A>. |
| URLs with a (%-decoded) path beginning with <EM>url-path</EM> will be |
| mapped to local files beginning with <EM>directory-filename</EM>. |
| <P> |
| Example: |
| </P> |
| <BLOCKQUOTE><CODE>Alias /image /ftp/pub/image</CODE></BLOCKQUOTE> |
| <P> |
| A request for http://myserver/image/foo.gif would cause the server to |
| return the file /ftp/pub/image/foo.gif. |
| </P> |
| <P> |
| Note that if you include a trailing / on the <EM>url-path</EM> then the |
| server will require a trailing / in order to expand the alias. That is, |
| if you use <CODE>Alias /icons/ /usr/local/apache/icons/</CODE> then |
| the url <CODE>/icons</CODE> will not be aliased. |
| </P> |
| <P> |
| Note that you may need to specify additional |
| <A HREF="core.html#directory"><CODE><Directory></CODE></A> sections |
| which cover the <EM>destination</EM> of aliases. Aliasing occurs |
| before <CODE><Directory></CODE> sections are checked, so only |
| the destination of aliases are affected. (Note however |
| <A HREF="core.html#location"><CODE><Location></CODE></A> |
| sections are run through once before aliases are performed, so they |
| will apply.) |
| <P> |
| See also <A HREF="#scriptalias">ScriptAlias</A>. |
| </P> |
| <HR> |
| |
| <H2><A NAME="aliasmatch">AliasMatch</A></H2> |
| <P> |
| <A |
| HREF="directive-dict.html#Syntax" |
| REL="Help" |
| ><STRONG>Syntax:</STRONG></A> AliasMatch <EM>regex directory-filename</EM><BR> |
| <A |
| HREF="directive-dict.html#Context" |
| REL="Help" |
| ><STRONG>Context:</STRONG></A> server config, virtual host<BR> |
| <A |
| HREF="directive-dict.html#Status" |
| REL="Help" |
| ><STRONG>Status:</STRONG></A> Base<BR> |
| <A |
| HREF="directive-dict.html#Module" |
| REL="Help" |
| ><STRONG>Module:</STRONG></A> mod_alias<BR> |
| <A |
| HREF="directive-dict.html#Compatibility" |
| REL="Help" |
| ><STRONG>Compatibility:</STRONG></A> Available in Apache 1.3 and later |
| </P> |
| |
| <P>This directive is equivalent to <A HREF="#alias">Alias</A>, but |
| makes use of standard regular expressions, instead of simple prefix |
| matching. The supplied regular expression is matched against the URL, |
| and if it matches, the server will substitute any parenthesized |
| matches into the given string and use it as a filename. For example, |
| to activate the <CODE>/icons</CODE> directory, one might use: |
| <PRE> |
| AliasMatch ^/icons(.*) /usr/local/apache/icons$1 |
| </PRE> |
| </P> |
| |
| <HR> |
| |
| <H2><A NAME="redirect">Redirect directive</A></H2> |
| <P> |
| <!--%plaintext <?INDEX {\tt Redirect} directive> --> |
| <A |
| HREF="directive-dict.html#Syntax" |
| REL="Help" |
| ><STRONG>Syntax:</STRONG></A> Redirect [ <EM>status</EM> ] |
| <EM>url-path url</EM><BR> |
| <A |
| HREF="directive-dict.html#Context" |
| REL="Help" |
| ><STRONG>Context:</STRONG></A> server config, virtual host, directory, |
| .htaccess<BR> |
| <A |
| HREF="directive-dict.html#Override" |
| REL="Help" |
| ><STRONG>Override:</STRONG></A> FileInfo<BR> |
| <A |
| HREF="directive-dict.html#Status" |
| REL="Help" |
| ><STRONG>Status:</STRONG></A> Base<BR> |
| <A |
| HREF="directive-dict.html#Module" |
| REL="Help" |
| ><STRONG>Module:</STRONG></A> mod_alias<BR> |
| <A |
| HREF="directive-dict.html#Compatibility" |
| REL="Help" |
| ><STRONG>Compatibility:</STRONG></A> The directory and .htaccess context's |
| are only available in versions 1.1 and later. The <EM>status</EM> |
| argument is only available in Apache 1.2 or later. |
| </P> |
| <P> |
| The Redirect directive maps an old URL into a new one. The new URL is returned |
| to the client which attempts to fetch it again with the new address. |
| <EM>Url-path</EM> a (%-decoded) path; any requests for documents beginning with |
| this path will be returned a redirect error to a new (%-encoded) url |
| beginning with <EM>url</EM>. |
| </P> |
| <P> |
| Example: |
| </P> |
| <BLOCKQUOTE><CODE>Redirect /service |
| http://foo2.bar.com/service</CODE></BLOCKQUOTE> |
| <P> |
| If the client requests http://myserver/service/foo.txt, it will be told to |
| access http://foo2.bar.com/service/foo.txt instead. |
| </P> |
| <P> |
| <STRONG>Note:</STRONG> Redirect directives take precedence over Alias |
| and ScriptAlias |
| directives, irrespective of their ordering in the configuration file. Also, |
| <EM>Url-path</EM> must be an absolute path, not a relative path, even |
| when used with .htaccess files or inside of <Directory> sections. |
| </P> |
| <P> |
| If no <EM>status</EM> argument is given, the redirect will be |
| "temporary" (HTTP status 302). This indicates to the client that the |
| resources is has moved temporarily. The <EM>status</EM> |
| argument can be used to return other HTTP status codes: |
| <P> |
| <DL> |
| <DT>permanent |
| <DD>Returns a permanent redirect status (301) indicating that |
| the resource has moved permanently. |
| <DT>temp |
| <DD>Returns a temporary redirect status (302). This is the |
| default. |
| <DT>seeother |
| <DD>Returns a "See Other" status (303) indicating that |
| the resource has been replaced. |
| <DT>gone |
| <DD>Returns a "Gone" status (410) indicating that the resource |
| has been permanently removed. When this status is used the <EM>url</EM> |
| argument should be omitted. |
| </DL> |
| <P> |
| Other status codes can be returned by giving the numeric status code |
| as the value of <EM>status</EM>. If the status is between 300 and 399, |
| the <EM>url</EM> argument must be present, otherwise it must be |
| omitted. Note that the status must be known to the Apache code (see |
| the function <CODE>send_error_response</CODE> in http_protocol.c). |
| </P> |
| <HR> |
| |
| <H2><A NAME="redirectmatch">RedirectMatch</A></H2> |
| <P> |
| <A |
| HREF="directive-dict.html#Syntax" |
| REL="Help" |
| ><STRONG>Syntax:</STRONG></A> |
| RedirectMatch [<EM>status</EM>] <EM>regex url</EM> |
| <BR> |
| <A |
| HREF="directive-dict.html#Context" |
| REL="Help" |
| ><STRONG>Context:</STRONG></A> server config, virtual host, directory, |
| .htaccess<BR> |
| <A |
| HREF="directive-dict.html#Override" |
| REL="Help" |
| ><STRONG>Override:</STRONG></A> FileInfo<BR> |
| <A |
| HREF="directive-dict.html#Status" |
| REL="Help" |
| ><STRONG>Status:</STRONG></A> Base<BR> |
| <A |
| HREF="directive-dict.html#Module" |
| REL="Help" |
| ><STRONG>Module:</STRONG></A> mod_alias<BR> |
| <A |
| HREF="directive-dict.html#Compatibility" |
| REL="Help" |
| ><STRONG>Compatibility:</STRONG></A> Available in Apache 1.3 and later |
| </P> |
| |
| <P>This directive is equivalent to <A HREF="#alias">Redirect</A>, but |
| makes use of standard regular expressions, instead of simple prefix |
| matching. The supplied regular expression is matched against the URL, |
| and if it matches, the server will substitute any parenthesized |
| matches into the given string and use it as a filename. For example, |
| to redirect all GIF files to like-named JPEG files on another server, |
| one might use: |
| <PRE> |
| RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg |
| </PRE> |
| </P> |
| |
| <HR> |
| |
| <H2><A NAME="redirecttemp">RedirectTemp directive</A></H2> |
| <P> |
| <!--%plaintext <?INDEX {\tt Redirect} directive> --> |
| <A |
| HREF="directive-dict.html#Syntax" |
| REL="Help" |
| ><STRONG>Syntax:</STRONG></A> RedirectTemp <EM>url-path url</EM><BR> |
| <A |
| HREF="directive-dict.html#Context" |
| REL="Help" |
| ><STRONG>Context:</STRONG></A> server config, virtual host, directory, |
| .htaccess<BR> |
| <A |
| HREF="directive-dict.html#Override" |
| REL="Help" |
| ><STRONG>Override:</STRONG></A> FileInfo<BR> |
| <A |
| HREF="directive-dict.html#Status" |
| REL="Help" |
| ><STRONG>Status:</STRONG></A> Base<BR> |
| <A |
| HREF="directive-dict.html#Module" |
| REL="Help" |
| ><STRONG>Module:</STRONG></A> mod_alias<BR> |
| <A |
| HREF="directive-dict.html#Compatibility" |
| REL="Help" |
| ><STRONG>Compatibility:</STRONG></A> This directive is only available in 1.2 |
| </P> |
| <P> |
| This directive makes the client know that the Redirect is only |
| temporary (status 302). Exactly equivalent to <CODE>Redirect |
| temp</CODE>. |
| </P> |
| <HR> |
| |
| <H2><A NAME="redirectperm">RedirectPermanent directive</A></H2> |
| <P> |
| <!--%plaintext <?INDEX {\tt Redirect} directive> --> |
| <A |
| HREF="directive-dict.html#Syntax" |
| REL="Help" |
| ><STRONG>Syntax:</STRONG></A> RedirectPermanent <EM>url-path url</EM><BR> |
| <A |
| HREF="directive-dict.html#Context" |
| REL="Help" |
| ><STRONG>Context:</STRONG></A> server config, virtual host, directory, |
| .htaccess<BR> |
| <A |
| HREF="directive-dict.html#Override" |
| REL="Help" |
| ><STRONG>Override:</STRONG></A> FileInfo<BR> |
| <A |
| HREF="directive-dict.html#Status" |
| REL="Help" |
| ><STRONG>Status:</STRONG></A> Base<BR> |
| <A |
| HREF="directive-dict.html#Module" |
| REL="Help" |
| ><STRONG>Module:</STRONG></A> mod_alias<BR> |
| <A |
| HREF="directive-dict.html#Compatibility" |
| REL="Help" |
| ><STRONG>Compatibility:</STRONG></A> This directive is only available in 1.2 |
| </P> |
| <P> |
| This directive makes the client know that the Redirect is permanent |
| (status 301). Exactly equivalent to <CODE>Redirect permanent</CODE>. |
| </P> |
| <HR> |
| |
| <H2><A NAME="scriptalias">ScriptAlias directive</A></H2> |
| <P> |
| <!--%plaintext <?INDEX {\tt ScriptAlias} directive> --> |
| <A |
| HREF="directive-dict.html#Syntax" |
| REL="Help" |
| ><STRONG>Syntax:</STRONG></A> ScriptAlias <EM>url-path directory-filename</EM> |
| <BR> |
| <A |
| HREF="directive-dict.html#Context" |
| REL="Help" |
| ><STRONG>Context:</STRONG></A> server config, virtual host<BR> |
| <A |
| HREF="directive-dict.html#Status" |
| REL="Help" |
| ><STRONG>Status:</STRONG></A> Base<BR> |
| <A |
| HREF="directive-dict.html#Module" |
| REL="Help" |
| ><STRONG>Module:</STRONG></A> mod_alias |
| </P> |
| <P> |
| The ScriptAlias directive has the same behavior as the |
| <A HREF="#alias">Alias</A> directive, except that in addition it |
| marks the target directory as containing CGI scripts. |
| URLs with a (%-decoded) path beginning with <EM>url-path</EM> will be |
| mapped to scripts beginning with <EM>directory-filename</EM>. |
| <P> |
| Example: |
| </P> |
| <BLOCKQUOTE><CODE>ScriptAlias /cgi-bin/ /web/cgi-bin/</CODE></BLOCKQUOTE> |
| <P> |
| A request for http://myserver/cgi-bin/foo would cause the server to |
| run the script /web/cgi-bin/foo. |
| </P> |
| |
| <HR> |
| |
| <H2><A NAME="scriptaliasmatch">ScriptAliasMatch</A></H2> |
| <P> |
| <A |
| HREF="directive-dict.html#Syntax" |
| REL="Help" |
| ><STRONG>Syntax:</STRONG></A> ScriptAliasMatch |
| <EM>regex directory-filename</EM><BR> |
| <A |
| HREF="directive-dict.html#Context" |
| REL="Help" |
| ><STRONG>Context:</STRONG></A> server config, virtual host<BR> |
| <A |
| HREF="directive-dict.html#Status" |
| REL="Help" |
| ><STRONG>Status:</STRONG></A> Base<BR> |
| <A |
| HREF="directive-dict.html#Module" |
| REL="Help" |
| ><STRONG>Module:</STRONG></A> mod_alias<BR> |
| <A |
| HREF="directive-dict.html#Compatibility" |
| REL="Help" |
| ><STRONG>Compatibility:</STRONG></A> Available in Apache 1.3 and later |
| </P> |
| |
| <P>This directive is equivalent to <A HREF="#scriptalias">ScriptAlias</A>, but |
| makes use of standard regular expressions, instead of simple prefix |
| matching. The supplied regular expression is matched against the URL, |
| and if it matches, the server will substitute any parenthesized |
| matches into the given string and use it as a filename. For example, |
| to activate the standard <CODE>/cgi-bin</CODE>, one might use: |
| <PRE> |
| ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1 |
| </PRE> |
| </P> |
| |
| <!--#include virtual="footer.html" --> |
| </BODY> |
| </HTML> |