ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzaie_5.4.0.1/rzaiemod_alias.htm

548 lines
34 KiB
HTML
Raw Permalink Normal View History

2024-04-02 14:02:31 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="topic" />
<meta name="DC.Title" content="Module mod_alias" />
<meta name="copyright" content="(C) Copyright IBM Corporation 2002,2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 2002,2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rzaiemod_alias" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Module mod_alias</title>
</head>
<body id="rzaiemod_alias"><a name="rzaiemod_alias"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<!--Java sync-link--><h1 class="topictitle1">Module mod_alias</h1>
<div><div class="important"><span class="importanttitle">Important:</span> Information
for this topic supports the latest PTF levels for HTTP Server for i5/OS .
It is recommended that you install the latest PTFs to upgrade to the latest
level of the HTTP Server for i5/OS. Some of the topics documented here are
not available prior to this update. See <a href="http://www-03.ibm.com/servers/eserver/iseries/software/http/services/service.html" target="_blank">http://www.ibm.com/servers/eserver/iseries/software/http/services/service.htm</a> <img src="www.gif" alt="Link outside Information Center" /> for more information. </div>
<p><strong>Summary</strong></p>
<p>The module mod_alias provides mapping for different parts of the host filesystem
in the document tree and also for URL redirection. </p>
<p><strong>Directives</strong></p>
<ul><li><a href="#alias">Alias</a></li>
<li><a href="#aliasmatch">AliasMatch</a></li>
<li><a href="#mapmatch">MapMatch</a></li>
<li><a href="#redirect">Redirect</a></li>
<li><a href="#redirectmatch">RedirectMatch</a></li>
<li><a href="#redirectpermanent">RedirectPermanent</a></li>
<li><a href="#redirecttemp">RedirectTemp</a></li>
<li><a href="#scriptalias">ScriptAlias</a></li>
<li><a href="#scriptaliasmatch">ScriptAliasMatch</a></li>
</ul>
</div>
<div class="hr" id="alias"><a name="alias"><!-- --></a><h2 class="topictitle2">Alias</h2>
<div>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="void" border="0" rules="none"><tbody><tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Module">Module</a></strong>: mod_alias</td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Syntax">Syntax</a></strong>: Alias <em>url-path directory-filename</em> </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Default">Default</a></strong>: none </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Context">Context</a></strong>: <span id="alias__alias_context"><a name="alias__alias_context"><!-- --></a>server config, virtual
host </span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Override">Override</a></strong>: none </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Origin">Origin</a></strong>: <span id="alias__alias_origin"><a name="alias__alias_origin"><!-- --></a>Apache </span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: Alias /image /QIBM/UserData/pub/image</td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: Alias /httpfile/ /QSYS.LIB/AS400LIB.LIB/HTML.FILE/ </td>
</tr>
</tbody>
</table>
</div>
<p>This directive allows documents to be stored in the local filesystem other
than under the <a href="rzaiemod_core.htm#documentroot">DocumentRoot</a>.
URLs with a (%-decoded) path beginning with the value of the URL-path parameter
will be mapped to local files beginning with the value of directory-filename.
Alias also allows you to hide the file system path from users, enhancing both
security of your server and the ability to change the filesystem structure
or paths without impacting the end users. </p>
<dl class="block"><dt class="dlterm"><strong>Parameter One</strong>: <em>url-path </em></dt>
<dd><ul><li>The <em>url-path</em> paramter is any valid URL path. If you include a trailing
'/' in the URL path, then the server will require a trailing '/' in order
to expand the alias. That is, if you use <tt>'Alias /icons/ /www/images/iSeries/icons/'</tt> then
the URL <tt>'/icon'</tt> will not be aliased.</li>
</ul>
</dd>
</dl>
<dl class="block"><dt class="dlterm"><strong>Parameter Two</strong>: <em>directory-filename </em></dt>
<dd><ul><li>The <em>directory-filename</em> parameter is any valid directory/filename
combination on the system. </li>
</ul>
</dd>
</dl>
<div class="note"><span class="notetitle">Note:</span> You may need to specify additional <a href="rzaiemod_core.htm#directory">&lt;Directory&gt;</a> containers that cover the destination of aliases. Aliasing
occurs before &lt;Directory&gt; containers are checked, so only the destination
of aliases are affected. <a href="rzaiemod_core.htm#location">&lt;Location&gt;</a> containers
are run through once before aliases are performed, so they will apply. </div>
<p>See <a href="#scriptalias">ScriptAlias</a> for more information.</p>
</div>
</div>
<div class="hr" id="aliasmatch"><a name="aliasmatch"><!-- --></a><h2 class="topictitle2">AliasMatch</h2>
<div>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="void" border="0" rules="none"><tbody><tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Module">Module</a></strong>: mod_alias </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Syntax">Syntax</a></strong>: AliasMatch <em>regex directory-filename</em> </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Default">Default</a></strong>: none </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Context">Context</a></strong>: <span id="aliasmatch__aliasmatch_context"><a name="aliasmatch__aliasmatch_context"><!-- --></a>server config,
virtual host </span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Override">Override</a></strong>: none </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Origin">Origin</a></strong>: <span id="aliasmatch__aliasmatch_origin"><a name="aliasmatch__aliasmatch_origin"><!-- --></a>Apache</span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: AliasMatch ^/icons(.*) /www/images/HTTP_Server/icons$1</td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: AliasMatch ^/lib/docs(.*) /QSYS.LIB/DOCLIB.LIB/HTMLDOC.FILE/$1.MBR </td>
</tr>
</tbody>
</table>
</div>
<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. </p>
<dl class="block"><dt class="dlterm"><strong>Parameter One</strong>: <em>regex </em></dt>
<dd><ul><li>The <em>regex</em> parameter is a regular expression that is matched against
the URL. Subexpressions are grouped within parentheses. Then parenthetically
enclosed regular expressions will be substituted in a subsequent $n statement. </li>
</ul>
</dd>
</dl>
<dl class="block"><dt class="dlterm"><strong>Parameter Two</strong>: <em>directory-filename </em></dt>
<dd><ul><li>The <em>directory-filename</em> parameter is any valid directory/filename
that is supported on the iSeries™. If there is a <em>$</em> symbol (followed
by a digit) that is not a substitution variable in the <em>directory-filename</em> parameter,
or there is an <em>&amp;</em> symbol in the <em>directory-filename</em> parameter
that is part of the directory or filename, the symbol must be escaped (\).</li>
</ul>
</dd>
</dl>
<p>If the directory-filename is /usr/local/apache/icons&amp;gifs/ the <em>&amp;</em> would
need to be escaped as follows on the AliasMatch directive:</p>
<pre class="block">AliasMatch ^/icons(.*) /usr/local/apache/icons\gifs/</pre>
<p>If the directory-filename is /usr/local/apache/icon$1/ the <em>$</em> would
need to be escaped as follows on the AliasMatch directive:</p>
<pre class="block">AliasMatch ^/icons(.*) /usr/local/apache/icon\$1/</pre>
<p>See <a href="rzaieregexpnot.htm">Regular expression notation for HTTP Server</a> for more information.</p>
</div>
</div>
<div class="hr" id="mapmatch"><a name="mapmatch"><!-- --></a><h2 class="topictitle2">MapMatch</h2>
<div>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="void" border="0" rules="none"><tbody><tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Module">Module</a></strong>: mod_alias </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Syntax">Syntax</a></strong>: MapMatch <em>regex URI </em></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Default">Default</a></strong>: none </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Context">Context</a></strong>: <span id="mapmatch__mapmatch_context"><a name="mapmatch__mapmatch_context"><!-- --></a>server config,
virtual host</span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Override">Override</a></strong>: none </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Origin">Origin</a></strong>: <span id="mapmatch__mapmatch_origin"><a name="mapmatch__mapmatch_origin"><!-- --></a>Apache</span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: MapMatch ^/icons(.*) /www/apache/icons\&amp;gifs/ </td>
</tr>
</tbody>
</table>
</div>
<p>The MapMatch directive uses standard regular expressions to change a URI
to a different URI. 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 the URI. This is not a terminating directive.
The server will use the new URI as input to Alias, Redirect or other MapMatch
directives. </p>
<dl class="block"><dt class="dlterm"><strong>Parameter One</strong>: <em>regex </em></dt>
<dd><ul><li>The <em>regex</em> paramter is a regular expression that is matched against
the URL. Subexpressions are grouped within parentheses. The parenthetically
enclosed regular expressions will be substituted in a subsequent $n statement.</li>
</ul>
</dd>
</dl>
<dl class="block"><dt class="dlterm"><strong>Parameter Two</strong>: <em>URI </em></dt>
<dd><ul><li>The <em>URI</em> paramater is any valid URI that is supported on the iSeries.
If there is a <em>$</em> symbol (followed by a digit) that is not a substitution
variable in the URI parameter, or there is an <em>&amp;</em> symbol in the URI
parameter that is part of the URI, the symbol must be escaped (\). </li>
</ul>
</dd>
</dl>
<p>If the target URI is /www/apache/icons\&amp;gifs/ the &amp; would need
to be escaped as follows on the MapMatch directive: </p>
<pre class="block">MapMatch ^/icons(.*) /www/apache/icons\&amp;gifs/</pre>
<p>If the target URI is /www/apache/icon$1/ the $ would need to be escaped
as follows on the MapMatch directive: </p>
<pre class="block">MapMatch ^/icons(.*) /www/apache/icon\$1/ </pre>
<p>See <a href="rzaieregexpnot.htm">Regular expression notation for HTTP Server</a> for more information.</p>
</div>
</div>
<div class="hr" id="redirect"><a name="redirect"><!-- --></a><h2 class="topictitle2">Redirect</h2>
<div>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="void" border="0" rules="none"><tbody><tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Module">Module</a></strong>: mod_alias </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Syntax">Syntax</a></strong>: Redirect <em>[status] url-path url </em></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Default">Default</a></strong>: none </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Context">Context</a></strong>: <span id="redirect__redirect_context"><a name="redirect__redirect_context"><!-- --></a>server config,
virtual host, directory, .htaccess </span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Override">Override</a></strong>: FileInfo </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Origin">Origin</a></strong>: <span id="redirect__redirect_origin"><a name="redirect__redirect_origin"><!-- --></a>Apache </span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: Redirect /service http://foo2.bar.com/service </td>
</tr>
</tbody>
</table>
</div>
<p>The Redirect directive maps an old URL into a new one. The new URL is returned
to the client, who then attempts to access the page with the new address.
URL-path is a (%-decoded) path; any requests for documents beginning with
this path will be returned with a redirect error to a new (%-encoded) URL
beginning with <em>url</em>. </p>
<dl class="block"><dt class="dlterm"><strong>Parameter One</strong>: <em>status </em></dt>
<dd><ul><li>The <em>status</em> parameter is used to return the below HTTP status codes:
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e502">Status</th>
<th valign="top" id="d0e504">Description</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e502 ">permanent </td>
<td valign="top" headers="d0e504 ">Returns a permanent redirect status (301) indicating
that the resource has moved permanently. </td>
</tr>
<tr><td valign="top" headers="d0e502 ">temp </td>
<td valign="top" headers="d0e504 ">Returns a temporary redirect status (302). This is the
default. </td>
</tr>
<tr><td valign="top" headers="d0e502 ">seeother </td>
<td valign="top" headers="d0e504 ">Returns a "See Other" status (303) indicating that the
resource has been replaced. </td>
</tr>
<tr><td valign="top" headers="d0e502 ">gone </td>
<td valign="top" headers="d0e504 ">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. </td>
</tr>
</tbody>
</table>
</div>
<p>If no status argument is given, the redirect will be "temporary"
(HTTP status 302). This indicates to the client that the resource has moved
temporarily. Other status codes can be returned by giving the numeric status
code as the value of status. If the status is between 300 and 399, the url
argument must be present, otherwise it must be omitted. Regardless, any HTTP
status given must be known to HTTP Server. </p>
</li>
</ul>
</dd>
</dl>
<dl class="block"><dt class="dlterm"><strong>Parameter Two</strong>: <em>url-path </em></dt>
<dd><ul><li>If the url-path has a trailing slash ('/'), the <em>url</em> should also
have a trailing slash. If the <em>url-path</em> does not contain a trailing
slash, the <em>url</em> should not either. Double check the designated <em>url-path</em> and
the <em>url</em>, or a double-slash ('//') may appear in the resulting URL.
The <em>url-path</em> must be an absolute path, not a relative path, even when
used with .htaccess files or inside of <a href="rzaiemod_core.htm#directory">&lt;Directory&gt;</a> containers. The <em>url-path</em> must match the requested
resource exactly or be a proper ancestor of it. </li>
</ul>
</dd>
</dl>
<dl class="block"><dt class="dlterm"><strong>Parameter Three</strong>: <em>url</em></dt>
<dd><ul><li>The <em>url</em> parameter should be a complete URL string, including the
scheme ('http://...') and the 'server:host' portion. When the status parameter
is "gone", the url argument should be omitted. </li>
</ul>
</dd>
</dl>
<div class="note"><span class="notetitle">Note:</span> Redirect directives take precedence over Alias and ScriptAlias directives,
regardless of their order in the configuration file.</div>
</div>
</div>
<div class="hr" id="redirectmatch"><a name="redirectmatch"><!-- --></a><h2 class="topictitle2">RedirectMatch</h2>
<div>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="void" border="0" rules="none"><tbody><tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Module">Module</a></strong>: mod_alias </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Syntax">Syntax</a></strong>: RedirectMatch <em>[status] regex url </em></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Default">Default</a></strong>: none </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Context">Context</a></strong>: <span id="redirectmatch__redirectmatch_context"><a name="redirectmatch__redirectmatch_context"><!-- --></a>server config,
virtual host, directory, .htaccess </span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Override">Override</a></strong>: FileInfo </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Origin">Origin</a></strong>: <span id="redirectmatch__redirectmatch_origin"><a name="redirectmatch__redirectmatch_origin"><!-- --></a>Apache</span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg </td>
</tr>
</tbody>
</table>
</div>
<p>This directive is equivalent to <a href="#redirect">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. </p>
<dl class="block"><dt class="dlterm"><strong>Parameter One</strong>: <em>status </em></dt>
<dd><ul><li>The <em>status</em> parameter is used to return the below HTTP status codes:
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e668">Status</th>
<th valign="top" id="d0e670">Description</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e668 ">permanent </td>
<td valign="top" headers="d0e670 ">Returns a permanent redirect status (301) indicating
that the resource has moved permanently. </td>
</tr>
<tr><td valign="top" headers="d0e668 ">temp </td>
<td valign="top" headers="d0e670 ">Returns a temporary redirect status (302). This is the
default. </td>
</tr>
<tr><td valign="top" headers="d0e668 ">seeother </td>
<td valign="top" headers="d0e670 ">Returns a "See Other" status (303) indicating that the
resource has been replaced. </td>
</tr>
<tr><td valign="top" headers="d0e668 ">gone </td>
<td valign="top" headers="d0e670 ">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. </td>
</tr>
</tbody>
</table>
</div>
<p>If no status argument is given, the redirect will be "temporary"
(HTTP status 302). This indicates to the client that the resource has moved
temporarily. Other status codes can be returned by giving the numeric status
code as the value of status. If the status is between 300 and 399, the url
argument must be present, otherwise it must be omitted. Regardless, any HTTP
status given must be known to HTTP Server. </p>
</li>
</ul>
</dd>
</dl>
<dl class="block"><dt class="dlterm"><strong>Parameter Two</strong>: <em>regex </em></dt>
<dd><ul><li>The <em>regex</em> parameter is aregular expression that is matched against
the URL. Subexpressions are grouped within parentheses. Then, parenthetically
enclosed regular expressions will be substituted in a subsequent $n statement. </li>
</ul>
</dd>
</dl>
<dl class="block"><dt class="dlterm"><strong>Parameter Three</strong>: <em>url </em></dt>
<dd><ul><li>The <em>url</em> parameter should be a complete URL string, including the
scheme ('http://...') and the 'server:port' portion. If there is a <em>$</em> symbol
(followed by a digit) that is not a substitution variable in the url parameter,
or there is a <em>&amp;</em> symbol in the url parameter that is part of the
URL, the symbol must be escaped (\). </li>
</ul>
</dd>
</dl>
<p>If the URL to redirect to is http://www.anotherserver.com/cgi-bin/welcome.cgi?parm1=login&amp;parm2=mainlist
the &amp; would need to be escaped as follows on the RedirectMatch directive:</p>
<pre class="block">RedirectMatch(.*) http://www.anotherserver.com/cgi-bin/welcome.cgi?parm1=login\&amp;parm2=mainlist</pre>
<p>If the URL to redirect to is http://www.anotherserver.com/htdocs/welcome$2login.html
the $2 would need to be escaped as follows on the RedirectMatch directive:</p>
<pre class="block">RedirectMatch (.*) http://www.anotherserver.com/htdocs/welcome\$2login.html</pre>
<p>See <a href="rzaieregexpnot.htm">Regular expression notation for HTTP Server</a> for more information.</p>
</div>
</div>
<div class="hr" id="redirectpermanent"><a name="redirectpermanent"><!-- --></a><h2 class="topictitle2">RedirectPermanent</h2>
<div>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="void" border="0" rules="none"><tbody><tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Module">Module</a></strong>: mod_alias </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Syntax">Syntax</a></strong>: RedirectPermanent <em>url-path url</em> </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Default">Default</a></strong>: none </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Context">Context</a></strong>: <span id="redirectpermanent__redirectpermanent_context"><a name="redirectpermanent__redirectpermanent_context"><!-- --></a>server
config, virtual host, directory, .htaccess </span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Override">Override</a></strong>: FileInfo </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Origin">Origin</a></strong>: <span id="redirectpermanent__redirectpermanent_origin"><a name="redirectpermanent__redirectpermanent_origin"><!-- --></a>Apache </span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: RedirectPermanent /payroll http://payroll.server.com/payroll </td>
</tr>
</tbody>
</table>
</div>
<p>The RedirectPermanent directive notifies the client that the Redirect is
permanent (status 301). This is the exact equivalent to Redirect permanent. </p>
<dl class="block"><dt class="dlterm"><strong>Parameter One</strong>: <em>url-path </em></dt>
<dd><ul><li>The <em>url-path</em> parameter is any valid URL path. If you include a
trailing '/' in the URL path, then the server will require a trailing '/'
in order to expand the alias. That is, if you use <tt>'Alias /icons/ /www/images/iSeries/icons/'</tt> then
the URL <tt>'/icon'</tt> will not be aliased. </li>
</ul>
</dd>
</dl>
<dl class="block"><dt class="dlterm"><strong>Parameter Two</strong>: <em>url </em></dt>
<dd><ul><li>The <em>url</em> parameter should be a complete URL string, including the
scheme ('http://...') and the 'server:host' portion. When the status parameter
is "gone", the url argument should be omitted. </li>
</ul>
</dd>
</dl>
<p>See <a href="rzaieregexpnot.htm">Regular expression notation for HTTP Server</a> for more information.</p>
</div>
</div>
<div class="hr" id="redirecttemp"><a name="redirecttemp"><!-- --></a><h2 class="topictitle2">RedirectTemp</h2>
<div>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="void" border="0" rules="none"><tbody><tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Module">Module</a></strong>: mod_alias </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Syntax">Syntax</a></strong>: RedirectTemp <em>url-path url</em> </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Default">Default</a></strong>: none </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Context">Context</a></strong>: <span id="redirecttemp__redirecttemp_context"><a name="redirecttemp__redirecttemp_context"><!-- --></a>server config,
virtual host, directory, .htaccess </span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Override">Override</a></strong>: FileInfo </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Origin">Origin</a></strong>: <span id="redirecttemp__redirecttemp_origin"><a name="redirecttemp__redirecttemp_origin"><!-- --></a>Apache </span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: RedirectTemp /service http://foo2.bar.com/service </td>
</tr>
</tbody>
</table>
</div>
<p>The RedirectTemp directive notifies the client that the Redirect is only
temporary (status 302). This is the exact equivalent to Redirect temp. </p>
<dl class="block"><dt class="dlterm"><strong>Parameter One</strong>: <em>url-path </em></dt>
<dd><ul><li>The <em>url-path</em> parameter is any valid URL path. If you include a
trailing '/' in the URL path, then the server will require a trailing '/'
in order to expand the alias. That is, if you use <em>'Alias /icons/ /www/images/iSeries/icons/'</em> then
the URL <em>'/icon'</em> will not be aliased. </li>
</ul>
</dd>
</dl>
<dl class="block"><dt class="dlterm"><strong>Parameter Two</strong>: <em>url </em></dt>
<dd><ul><li>The <em>url</em> parameter should be a complete URL string, including the
scheme ('http://...') and the 'server:host' portion. When the status parameter
is "gone", the <em>url</em> argument should be omitted. </li>
</ul>
</dd>
</dl>
<p>See <a href="rzaieregexpnot.htm">Regular expression notation for HTTP Server</a> for more information.</p>
</div>
</div>
<div class="hr" id="scriptalias"><a name="scriptalias"><!-- --></a><h2 class="topictitle2">ScriptAlias</h2>
<div>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="void" border="0" rules="none"><tbody><tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Module">Module</a></strong>: mod_alias </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Syntax">Syntax</a></strong>: ScriptAlias <em>url-path directory-filename</em> </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Default">Default</a></strong>: none </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Context">Context</a></strong>: <span id="scriptalias__scriptalias_context"><a name="scriptalias__scriptalias_context"><!-- --></a>server config,
virtual host </span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Override">Override</a></strong>: none </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Origin">Origin</a></strong>: <span id="scriptalias__scriptalias_origin"><a name="scriptalias__scriptalias_origin"><!-- --></a>Apache</span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: ScriptAlias /cgi-bin/ /web/cgi-bin/ </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: ScriptAlias /cgi-bin/ /QSYS.LIB/QSYSCGI.LIB/ </td>
</tr>
</tbody>
</table>
</div>
<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,
and then executes the CGI program. URLs with a (%-decoded) path beginning
with url-path will be mapped to scripts beginning with directory-filename.
Additional <a href="rzaiemod_core.htm#directory">&lt;Directory&gt;</a>
containers that cover the destination of the ScriptAlias may need to be specified.
Aliasing occurs before &lt;Directory&gt; containers are checked, so only the
destination of Aliases are affected.</p>
<dl class="block"><dt class="dlterm"><strong>Parameter One</strong>: <em> url-path </em></dt>
<dd><ul><li>The <em>url-path</em> parameter is any valid url-path. It must end with
a slash ('/') character so that any files in the directory will be routed. </li>
</ul>
</dd>
</dl>
<dl class="block"><dt class="dlterm"><strong>Parameter Two</strong>: <em>directory-filename </em></dt>
<dd><ul><li>The <em>directory-filename</em> parameter is any valid directory/filename
on the iSeries. </li>
</ul>
</dd>
</dl>
<div class="note"><span class="notetitle">Note:</span> If the URL ends in a slash ("/") character, the ScriptAlias must also
end in a slash character.</div>
</div>
</div>
<div class="hr" id="scriptaliasmatch"><a name="scriptaliasmatch"><!-- --></a><h2 class="topictitle2">ScriptAliasMatch</h2>
<div>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="void" border="0" rules="none"><tbody><tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Module">Module</a></strong>: mod_alias </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Syntax">Syntax</a></strong>: ScriptAliasMatch<em> regex directory-filename</em> </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Default">Default</a></strong>: none </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Context">Context</a></strong>: <span id="scriptaliasmatch__scriptaliasmatch_context"><a name="scriptaliasmatch__scriptaliasmatch_context"><!-- --></a>server
config, virtual host </span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Override">Override</a></strong>: none </td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Origin">Origin</a></strong>: <span id="scriptaliasmatch__scriptaliasmatch_origin"><a name="scriptaliasmatch__scriptaliasmatch_origin"><!-- --></a>Apache </span></td>
</tr>
<tr><td colspan="2" valign="top"><strong><a href="rzaiedirective-dict.htm#rzaiedirective-dict__Example">Example</a></strong>: ScriptAliasMatch ^/cgi-bin/(.*)\.cgi /QSYS.LIB/QSYSCGI.LIB/$1.PGM </td>
</tr>
</tbody>
</table>
</div>
<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. </p>
<dl class="block"><dt class="dlterm"><strong>Parameter One</strong>: <em>regex </em></dt>
<dd><ul><li>The <em>regex</em> parameter is a regular expression that is matched against
the URL. Subexpressions are grouped within parentheses. Then, parenthetically
enclosed regular expressions will be substituted in a subsequent $n statement. </li>
</ul>
</dd>
</dl>
<dl class="block"><dt class="dlterm"><strong>Parameter Two</strong>: <em>directory-filename </em></dt>
<dd><ul><li>This is any valid directory/filename that is supported on the iSeries.
If there is a <em>$</em> symbol (followed by a digit) that is not a substitution
variable in the directory-filename parameter, or there is a <em>&amp;</em> symbol
in the directory-filename parameter that is part of the directory or filename,
the symbol must be escaped (\).</li>
</ul>
</dd>
</dl>
<p>If the directory-filename is /usr/local/apache/cgi-bin&amp;sym/$1.pgm,
where the $1 is a substitution variable, the &amp; would need to be escaped
as follows on the ScriptAliasMatch directive:</p>
<pre class="block">ScriptAliasMatch ^/cgi-bin/(.*)\.cgi /usr/local/apache/cgi-bins\&amp;sym/$1.pgm</pre>
<p>If the directory-filename is /usr/local/apache/cgi-bin$2sym/ $1.pgm, where
the $1 is a substitution variable, the $2 would need to be escaped as follows
on the ScriptAliasMatch directive:</p>
<pre class="block">ScriptAliasMatch ^/cgi-bin/(.*)\.cgi /usr/local/apache/cgi-bin\$2sym/$1.pgm</pre>
</div>
</div>
</body>
</html>