You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by rb...@apache.org on 2005/03/14 03:16:01 UTC
svn commit: r157367 -
httpd/httpd/branches/2.0.x/docs/manual/mod/mod_rewrite.html.en
httpd/httpd/branches/2.0.x/docs/manual/mod/mod_rewrite.xml
Author: rbowen
Date: Sun Mar 13 18:15:59 2005
New Revision: 157367
URL: http://svn.apache.org/viewcvs?view=rev&rev=157367
Log:
Put the rewrite flags into alphabetic order.
Modified:
httpd/httpd/branches/2.0.x/docs/manual/mod/mod_rewrite.html.en
httpd/httpd/branches/2.0.x/docs/manual/mod/mod_rewrite.xml
Modified: httpd/httpd/branches/2.0.x/docs/manual/mod/mod_rewrite.html.en
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.0.x/docs/manual/mod/mod_rewrite.html.en?view=diff&r1=157366&r2=157367
==============================================================================
--- httpd/httpd/branches/2.0.x/docs/manual/mod/mod_rewrite.html.en (original)
+++ httpd/httpd/branches/2.0.x/docs/manual/mod/mod_rewrite.html.en Sun Mar 13 18:15:59 2005
@@ -1385,33 +1385,44 @@
following flags: </p>
<ul>
+ <li>'<strong><code>chain|C</code></strong>'
+ (<strong>c</strong>hained with next rule)<br />
+ This flag chains the current rule with the next rule
+ (which itself can be chained with the following rule,
+ <em>etc.</em>). This has the following effect: if a rule
+ matches, then processing continues as usual, <em>i.e.</em>,
+ the flag has no effect. If the rule does
+ <strong>not</strong> match, then all following chained
+ rules are skipped. For instance, use it to remove the
+ ``<code>.www</code>'' part inside a per-directory rule set
+ when you let an external redirect happen (where the
+ ``<code>.www</code>'' part should not to occur!).</li>
+
<li>
- '<strong><code>redirect|R</code>
- [=<em>code</em>]</strong>' (force <a id="redirect" name="redirect"><strong>r</strong>edirect</a>)<br />
- Prefix <em>Substitution</em> with
- <code>http://thishost[:thisport]/</code> (which makes the
- new URL a URI) to force a external redirection. If no
- <em>code</em> is given a HTTP response of 302 (MOVED
- TEMPORARILY) is used. If you want to use other response
- codes in the range 300-400 just specify them as a number
- or use one of the following symbolic names:
- <code>temp</code> (default), <code>permanent</code>,
- <code>seeother</code>. Use it for rules which should
- canonicalize the URL and give it back to the client,
- <em>e.g.</em>, translate ``<code>/~</code>'' into
- ``<code>/u/</code>'' or always append a slash to
- <code>/u/</code><em>user</em>, etc.<br />
-
+ '<strong><code>cookie|CO=</code></strong><em>NAME</em>:<em>VAL</em>:<em>domain</em>[:<em>lifetime</em>[:<em>path</em>]]'
+ (set <strong>co</strong>okie)<br />
+ This sets a cookie on the client's browser. The cookie's name
+ is specified by <em>NAME</em> and the value is
+ <em>VAL</em>. The <em>domain</em> field is the domain of the
+ cookie, such as '.apache.org',the optional <em>lifetime</em>
+ is the lifetime of the cookie in minutes, and the optional
+ <em>path</em> is the path of the cookie</li>
- <p><strong>Note:</strong> When you use this flag, make
- sure that the substitution field is a valid URL! If not,
- you are redirecting to an invalid location! And remember
- that this flag itself only prefixes the URL with
- <code>http://thishost[:thisport]/</code>, rewriting
- continues. Usually you also want to stop and do the
- redirection immediately. To stop the rewriting you also
- have to provide the 'L' flag.</p>
- </li>
+ <li>
+ '<strong><code>env|E=</code></strong><em>VAR</em>:<em>VAL</em>'
+ (set <strong>e</strong>nvironment variable)<br />
+ This forces an environment variable named <em>VAR</em> to
+ be set to the value <em>VAL</em>, where <em>VAL</em> can
+ contain regexp backreferences <code>$N</code> and
+ <code>%N</code> which will be expanded. You can use this
+ flag more than once to set more than one variable. The
+ variables can be later dereferenced in many situations, but
+ usually from within XSSI (via <code><!--#echo
+ var="VAR"--></code>) or CGI (<em>e.g.</em>
+ <code>$ENV{'VAR'}</code>). Additionally you can dereference
+ it in a following RewriteCond pattern via
+ <code>%{ENV:VAR}</code>. Use this to strip but remember
+ information from URLs.</li>
<li>'<strong><code>forbidden|F</code></strong>' (force URL
to be <strong>f</strong>orbidden)<br />
@@ -1427,32 +1438,7 @@
immediately sends back a HTTP response of 410 (GONE). Use
this flag to mark pages which no longer exist as gone.</li>
- <li>
- '<strong><code>proxy|P</code></strong>' (force
- <strong>p</strong>roxy)<br />
- This flag forces the substitution part to be internally
- forced as a proxy request and immediately (<em>i.e.</em>,
- rewriting rule processing stops here) put through the <a href="mod_proxy.html">proxy module</a>. You have to make
- sure that the substitution string is a valid URI
- (<em>e.g.</em>, typically starting with
- <code>http://</code><em>hostname</em>) which can be
- handled by the Apache proxy module. If not you get an
- error from the proxy module. Use this flag to achieve a
- more powerful implementation of the <a href="mod_proxy.html#proxypass">ProxyPass</a> directive,
- to map some remote stuff into the namespace of the local
- server.
-
- <p>Notice: To use this functionality make sure you have
- the proxy module compiled into your Apache server
- program. If you don't know please check whether
- <code>mod_proxy.c</code> is part of the ``<code>httpd
- -l</code>'' output. If yes, this functionality is
- available to mod_rewrite. If not, then you first have to
- rebuild the ``<code>httpd</code>'' program with mod_proxy
- enabled.</p>
- </li>
-
- <li>'<strong><code>last|L</code></strong>'
+ <li>'<strong><code>last|L</code></strong>'
(<strong>l</strong>ast rule)<br />
Stop the rewriting process here and don't apply any more
rewriting rules. This corresponds to the Perl
@@ -1475,29 +1461,6 @@
<strong>But be careful not to create an infinite
loop!</strong></li>
- <li>'<strong><code>chain|C</code></strong>'
- (<strong>c</strong>hained with next rule)<br />
- This flag chains the current rule with the next rule
- (which itself can be chained with the following rule,
- <em>etc.</em>). This has the following effect: if a rule
- matches, then processing continues as usual, <em>i.e.</em>,
- the flag has no effect. If the rule does
- <strong>not</strong> match, then all following chained
- rules are skipped. For instance, use it to remove the
- ``<code>.www</code>'' part inside a per-directory rule set
- when you let an external redirect happen (where the
- ``<code>.www</code>'' part should not to occur!).</li>
-
- <li>
- '<strong><code>type|T</code></strong>=<em>MIME-type</em>'
- (force MIME <strong>t</strong>ype)<br />
- Force the MIME-type of the target file to be
- <em>MIME-type</em>. For instance, this can be used to
- simulate the <code>mod_alias</code> directive
- <code>ScriptAlias</code> which internally forces all files
- inside the mapped directory to have a MIME type of
- ``<code>application/x-httpd-cgi</code>''.</li>
-
<li>
'<strong><code>nosubreq|NS</code></strong>' (used only if
<strong>n</strong>o internal
@@ -1520,38 +1483,29 @@
sub-requests. In these cases, use this flag.</p>
</li>
- <li>'<strong><code>nocase|NC</code></strong>'
- (<strong>n</strong>o <strong>c</strong>ase)<br />
- This makes the <em>Pattern</em> case-insensitive,
- <em>i.e.</em>, there is no difference between 'A-Z' and
- 'a-z' when <em>Pattern</em> is matched against the current
- URL.</li>
-
- <li>'<strong><code>qsappend|QSA</code></strong>'
- (<strong>q</strong>uery <strong>s</strong>tring
- <strong>a</strong>ppend)<br />
- This flag forces the rewriting engine to append a query
- string part in the substitution string to the existing one
- instead of replacing it. Use this when you want to add more
- data to the query string via a rewrite rule.</li>
-
<li>
- '<strong><code>noescape|NE</code></strong>'
- (<strong>n</strong>o URI <strong>e</strong>scaping of
- output)<br />
- This flag keeps mod_rewrite from applying the usual URI
- escaping rules to the result of a rewrite. Ordinarily,
- special characters (such as '%', '$', ';', and so on)
- will be escaped into their hexcode equivalents ('%25',
- '%24', and '%3B', respectively); this flag prevents this
- from being done. This allows percent symbols to appear in
- the output, as in
-<div class="example"><p><code>
- RewriteRule /foo/(.*) /bar?arg=P1\%3d$1 [R,NE]
-</code></p></div>
+ '<strong><code>proxy|P</code></strong>' (force
+ <strong>p</strong>roxy)<br />
+ This flag forces the substitution part to be internally
+ forced as a proxy request and immediately (<em>i.e.</em>,
+ rewriting rule processing stops here) put through the <a href="mod_proxy.html">proxy module</a>. You have to make
+ sure that the substitution string is a valid URI
+ (<em>e.g.</em>, typically starting with
+ <code>http://</code><em>hostname</em>) which can be
+ handled by the Apache proxy module. If not you get an
+ error from the proxy module. Use this flag to achieve a
+ more powerful implementation of the <a href="mod_proxy.html#proxypass">ProxyPass</a> directive,
+ to map some remote stuff into the namespace of the local
+ server.
- which would turn '<code>/foo/zed</code>' into a safe
- request for '<code>/bar?arg=P1=zed</code>'.
+ <p>Notice: To use this functionality make sure you have
+ the proxy module compiled into your Apache server
+ program. If you don't know please check whether
+ <code>mod_proxy.c</code> is part of the ``<code>httpd
+ -l</code>'' output. If yes, this functionality is
+ available to mod_rewrite. If not, then you first have to
+ rebuild the ``<code>httpd</code>'' program with mod_proxy
+ enabled.</p>
</li>
<li>
@@ -1591,6 +1545,41 @@
<code>mod_rewrite</code>..</p>
</li>
+ <li>'<strong><code>qsappend|QSA</code></strong>'
+ (<strong>q</strong>uery <strong>s</strong>tring
+ <strong>a</strong>ppend)<br />
+ This flag forces the rewriting engine to append a query
+ string part in the substitution string to the existing one
+ instead of replacing it. Use this when you want to add more
+ data to the query string via a rewrite rule.</li>
+
+ <li>'<strong><code>redirect|R</code>
+ [=<em>code</em>]</strong>' (force <a id="redirect" name="redirect"><strong>r</strong>edirect</a>)<br />
+ Prefix <em>Substitution</em> with
+ <code>http://thishost[:thisport]/</code> (which makes the
+ new URL a URI) to force a external redirection. If no
+ <em>code</em> is given a HTTP response of 302 (MOVED
+ TEMPORARILY) is used. If you want to use other response
+ codes in the range 300-400 just specify them as a number
+ or use one of the following symbolic names:
+ <code>temp</code> (default), <code>permanent</code>,
+ <code>seeother</code>. Use it for rules which should
+ canonicalize the URL and give it back to the client,
+ <em>e.g.</em>, translate ``<code>/~</code>'' into
+ ``<code>/u/</code>'' or always append a slash to
+ <code>/u/</code><em>user</em>, etc.<br />
+
+
+ <p><strong>Note:</strong> When you use this flag, make
+ sure that the substitution field is a valid URL! If not,
+ you are redirecting to an invalid location! And remember
+ that this flag itself only prefixes the URL with
+ <code>http://thishost[:thisport]/</code>, rewriting
+ continues. Usually you also want to stop and do the
+ redirection immediately. To stop the rewriting you also
+ have to provide the 'L' flag.</p>
+ </li>
+
<li>'<strong><code>skip|S</code></strong>=<em>num</em>'
(<strong>s</strong>kip next rule(s))<br />
This flag forces the rewriting engine to skip the next
@@ -1602,31 +1591,19 @@
'chain|C' flag!)</li>
<li>
- '<strong><code>env|E=</code></strong><em>VAR</em>:<em>VAL</em>'
- (set <strong>e</strong>nvironment variable)<br />
- This forces an environment variable named <em>VAR</em> to
- be set to the value <em>VAL</em>, where <em>VAL</em> can
- contain regexp backreferences <code>$N</code> and
- <code>%N</code> which will be expanded. You can use this
- flag more than once to set more than one variable. The
- variables can be later dereferenced in many situations, but
- usually from within XSSI (via <code><!--#echo
- var="VAR"--></code>) or CGI (<em>e.g.</em>
- <code>$ENV{'VAR'}</code>). Additionally you can dereference
- it in a following RewriteCond pattern via
- <code>%{ENV:VAR}</code>. Use this to strip but remember
- information from URLs.</li>
+ '<strong><code>type|T</code></strong>=<em>MIME-type</em>'
+ (force MIME <strong>t</strong>ype)<br />
+ Force the MIME-type of the target file to be
+ <em>MIME-type</em>. For instance, this can be used to
+ setup the content-type based on some conditions.
+ For example, the following snippet allows <code>.php</code> files to
+ be <em>displayed</em> by <code>mod_php</code> if they are called with
+ the <code>.phps</code> extension:
+ <div class="example"><p><code>
+ RewriteRule ^(.+\.php)s$ $1 [T=application/x-httpd-php-source]
+ </code></p></div>
+ </li>
- <li>
- '<strong><code>cookie|CO=</code></strong><em>NAME</em>:<em>VAL</em>:<em>domain</em>[:<em>lifetime</em>[:<em>path</em>]]'
- (set <strong>co</strong>okie)<br />
- This sets a cookie on the client's browser. The cookie's name
- is specified by <em>NAME</em> and the value is
- <em>VAL</em>. The <em>domain</em> field is the domain of the
- cookie, such as '.apache.org',the optional <em>lifetime</em>
- is the lifetime of the cookie in minutes, and the optional
- <em>path</em> is the path of the cookie</li>
-
</ul>
<div class="note"><h3>Note</h3> Never forget that <em>Pattern</em> is
Modified: httpd/httpd/branches/2.0.x/docs/manual/mod/mod_rewrite.xml
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.0.x/docs/manual/mod/mod_rewrite.xml?view=diff&r1=157366&r2=157367
==============================================================================
--- httpd/httpd/branches/2.0.x/docs/manual/mod/mod_rewrite.xml (original)
+++ httpd/httpd/branches/2.0.x/docs/manual/mod/mod_rewrite.xml Sun Mar 13 18:15:59 2005
@@ -1405,34 +1405,44 @@
following flags: </p>
<ul>
+ <li>'<strong><code>chain|C</code></strong>'
+ (<strong>c</strong>hained with next rule)<br />
+ This flag chains the current rule with the next rule
+ (which itself can be chained with the following rule,
+ <em>etc.</em>). This has the following effect: if a rule
+ matches, then processing continues as usual, <em>i.e.</em>,
+ the flag has no effect. If the rule does
+ <strong>not</strong> match, then all following chained
+ rules are skipped. For instance, use it to remove the
+ ``<code>.www</code>'' part inside a per-directory rule set
+ when you let an external redirect happen (where the
+ ``<code>.www</code>'' part should not to occur!).</li>
+
<li>
- '<strong><code>redirect|R</code>
- [=<em>code</em>]</strong>' (force <a id="redirect"
- name="redirect"><strong>r</strong>edirect</a>)<br />
- Prefix <em>Substitution</em> with
- <code>http://thishost[:thisport]/</code> (which makes the
- new URL a URI) to force a external redirection. If no
- <em>code</em> is given a HTTP response of 302 (MOVED
- TEMPORARILY) is used. If you want to use other response
- codes in the range 300-400 just specify them as a number
- or use one of the following symbolic names:
- <code>temp</code> (default), <code>permanent</code>,
- <code>seeother</code>. Use it for rules which should
- canonicalize the URL and give it back to the client,
- <em>e.g.</em>, translate ``<code>/~</code>'' into
- ``<code>/u/</code>'' or always append a slash to
- <code>/u/</code><em>user</em>, etc.<br />
-
+ '<strong><code>cookie|CO=</code></strong><em>NAME</em>:<em>VAL</em>:<em>domain</em>[:<em>lifetime</em>[:<em>path</em>]]'
+ (set <strong>co</strong>okie)<br />
+ This sets a cookie on the client's browser. The cookie's name
+ is specified by <em>NAME</em> and the value is
+ <em>VAL</em>. The <em>domain</em> field is the domain of the
+ cookie, such as '.apache.org',the optional <em>lifetime</em>
+ is the lifetime of the cookie in minutes, and the optional
+ <em>path</em> is the path of the cookie</li>
- <p><strong>Note:</strong> When you use this flag, make
- sure that the substitution field is a valid URL! If not,
- you are redirecting to an invalid location! And remember
- that this flag itself only prefixes the URL with
- <code>http://thishost[:thisport]/</code>, rewriting
- continues. Usually you also want to stop and do the
- redirection immediately. To stop the rewriting you also
- have to provide the 'L' flag.</p>
- </li>
+ <li>
+ '<strong><code>env|E=</code></strong><em>VAR</em>:<em>VAL</em>'
+ (set <strong>e</strong>nvironment variable)<br />
+ This forces an environment variable named <em>VAR</em> to
+ be set to the value <em>VAL</em>, where <em>VAL</em> can
+ contain regexp backreferences <code>$N</code> and
+ <code>%N</code> which will be expanded. You can use this
+ flag more than once to set more than one variable. The
+ variables can be later dereferenced in many situations, but
+ usually from within XSSI (via <code><!--#echo
+ var="VAR"--></code>) or CGI (<em>e.g.</em>
+ <code>$ENV{'VAR'}</code>). Additionally you can dereference
+ it in a following RewriteCond pattern via
+ <code>%{ENV:VAR}</code>. Use this to strip but remember
+ information from URLs.</li>
<li>'<strong><code>forbidden|F</code></strong>' (force URL
to be <strong>f</strong>orbidden)<br />
@@ -1448,34 +1458,7 @@
immediately sends back a HTTP response of 410 (GONE). Use
this flag to mark pages which no longer exist as gone.</li>
- <li>
- '<strong><code>proxy|P</code></strong>' (force
- <strong>p</strong>roxy)<br />
- This flag forces the substitution part to be internally
- forced as a proxy request and immediately (<em>i.e.</em>,
- rewriting rule processing stops here) put through the <a
- href="mod_proxy.html">proxy module</a>. You have to make
- sure that the substitution string is a valid URI
- (<em>e.g.</em>, typically starting with
- <code>http://</code><em>hostname</em>) which can be
- handled by the Apache proxy module. If not you get an
- error from the proxy module. Use this flag to achieve a
- more powerful implementation of the <a
- href="mod_proxy.html#proxypass">ProxyPass</a> directive,
- to map some remote stuff into the namespace of the local
- server.
-
- <p>Notice: To use this functionality make sure you have
- the proxy module compiled into your Apache server
- program. If you don't know please check whether
- <code>mod_proxy.c</code> is part of the ``<code>httpd
- -l</code>'' output. If yes, this functionality is
- available to mod_rewrite. If not, then you first have to
- rebuild the ``<code>httpd</code>'' program with mod_proxy
- enabled.</p>
- </li>
-
- <li>'<strong><code>last|L</code></strong>'
+ <li>'<strong><code>last|L</code></strong>'
(<strong>l</strong>ast rule)<br />
Stop the rewriting process here and don't apply any more
rewriting rules. This corresponds to the Perl
@@ -1498,29 +1481,6 @@
<strong>But be careful not to create an infinite
loop!</strong></li>
- <li>'<strong><code>chain|C</code></strong>'
- (<strong>c</strong>hained with next rule)<br />
- This flag chains the current rule with the next rule
- (which itself can be chained with the following rule,
- <em>etc.</em>). This has the following effect: if a rule
- matches, then processing continues as usual, <em>i.e.</em>,
- the flag has no effect. If the rule does
- <strong>not</strong> match, then all following chained
- rules are skipped. For instance, use it to remove the
- ``<code>.www</code>'' part inside a per-directory rule set
- when you let an external redirect happen (where the
- ``<code>.www</code>'' part should not to occur!).</li>
-
- <li>
- '<strong><code>type|T</code></strong>=<em>MIME-type</em>'
- (force MIME <strong>t</strong>ype)<br />
- Force the MIME-type of the target file to be
- <em>MIME-type</em>. For instance, this can be used to
- simulate the <code>mod_alias</code> directive
- <code>ScriptAlias</code> which internally forces all files
- inside the mapped directory to have a MIME type of
- ``<code>application/x-httpd-cgi</code>''.</li>
-
<li>
'<strong><code>nosubreq|NS</code></strong>' (used only if
<strong>n</strong>o internal
@@ -1543,38 +1503,31 @@
sub-requests. In these cases, use this flag.</p>
</li>
- <li>'<strong><code>nocase|NC</code></strong>'
- (<strong>n</strong>o <strong>c</strong>ase)<br />
- This makes the <em>Pattern</em> case-insensitive,
- <em>i.e.</em>, there is no difference between 'A-Z' and
- 'a-z' when <em>Pattern</em> is matched against the current
- URL.</li>
-
- <li>'<strong><code>qsappend|QSA</code></strong>'
- (<strong>q</strong>uery <strong>s</strong>tring
- <strong>a</strong>ppend)<br />
- This flag forces the rewriting engine to append a query
- string part in the substitution string to the existing one
- instead of replacing it. Use this when you want to add more
- data to the query string via a rewrite rule.</li>
-
<li>
- '<strong><code>noescape|NE</code></strong>'
- (<strong>n</strong>o URI <strong>e</strong>scaping of
- output)<br />
- This flag keeps mod_rewrite from applying the usual URI
- escaping rules to the result of a rewrite. Ordinarily,
- special characters (such as '%', '$', ';', and so on)
- will be escaped into their hexcode equivalents ('%25',
- '%24', and '%3B', respectively); this flag prevents this
- from being done. This allows percent symbols to appear in
- the output, as in
-<example>
- RewriteRule /foo/(.*) /bar?arg=P1\%3d$1 [R,NE]
-</example>
+ '<strong><code>proxy|P</code></strong>' (force
+ <strong>p</strong>roxy)<br />
+ This flag forces the substitution part to be internally
+ forced as a proxy request and immediately (<em>i.e.</em>,
+ rewriting rule processing stops here) put through the <a
+ href="mod_proxy.html">proxy module</a>. You have to make
+ sure that the substitution string is a valid URI
+ (<em>e.g.</em>, typically starting with
+ <code>http://</code><em>hostname</em>) which can be
+ handled by the Apache proxy module. If not you get an
+ error from the proxy module. Use this flag to achieve a
+ more powerful implementation of the <a
+ href="mod_proxy.html#proxypass">ProxyPass</a> directive,
+ to map some remote stuff into the namespace of the local
+ server.
- which would turn '<code>/foo/zed</code>' into a safe
- request for '<code>/bar?arg=P1=zed</code>'.
+ <p>Notice: To use this functionality make sure you have
+ the proxy module compiled into your Apache server
+ program. If you don't know please check whether
+ <code>mod_proxy.c</code> is part of the ``<code>httpd
+ -l</code>'' output. If yes, this functionality is
+ available to mod_rewrite. If not, then you first have to
+ rebuild the ``<code>httpd</code>'' program with mod_proxy
+ enabled.</p>
</li>
<li>
@@ -1614,6 +1567,42 @@
<code>mod_rewrite</code>..</p>
</li>
+ <li>'<strong><code>qsappend|QSA</code></strong>'
+ (<strong>q</strong>uery <strong>s</strong>tring
+ <strong>a</strong>ppend)<br />
+ This flag forces the rewriting engine to append a query
+ string part in the substitution string to the existing one
+ instead of replacing it. Use this when you want to add more
+ data to the query string via a rewrite rule.</li>
+
+ <li>'<strong><code>redirect|R</code>
+ [=<em>code</em>]</strong>' (force <a id="redirect"
+ name="redirect"><strong>r</strong>edirect</a>)<br />
+ Prefix <em>Substitution</em> with
+ <code>http://thishost[:thisport]/</code> (which makes the
+ new URL a URI) to force a external redirection. If no
+ <em>code</em> is given a HTTP response of 302 (MOVED
+ TEMPORARILY) is used. If you want to use other response
+ codes in the range 300-400 just specify them as a number
+ or use one of the following symbolic names:
+ <code>temp</code> (default), <code>permanent</code>,
+ <code>seeother</code>. Use it for rules which should
+ canonicalize the URL and give it back to the client,
+ <em>e.g.</em>, translate ``<code>/~</code>'' into
+ ``<code>/u/</code>'' or always append a slash to
+ <code>/u/</code><em>user</em>, etc.<br />
+
+
+ <p><strong>Note:</strong> When you use this flag, make
+ sure that the substitution field is a valid URL! If not,
+ you are redirecting to an invalid location! And remember
+ that this flag itself only prefixes the URL with
+ <code>http://thishost[:thisport]/</code>, rewriting
+ continues. Usually you also want to stop and do the
+ redirection immediately. To stop the rewriting you also
+ have to provide the 'L' flag.</p>
+ </li>
+
<li>'<strong><code>skip|S</code></strong>=<em>num</em>'
(<strong>s</strong>kip next rule(s))<br />
This flag forces the rewriting engine to skip the next
@@ -1625,31 +1614,19 @@
'chain|C' flag!)</li>
<li>
- '<strong><code>env|E=</code></strong><em>VAR</em>:<em>VAL</em>'
- (set <strong>e</strong>nvironment variable)<br />
- This forces an environment variable named <em>VAR</em> to
- be set to the value <em>VAL</em>, where <em>VAL</em> can
- contain regexp backreferences <code>$N</code> and
- <code>%N</code> which will be expanded. You can use this
- flag more than once to set more than one variable. The
- variables can be later dereferenced in many situations, but
- usually from within XSSI (via <code><!--#echo
- var="VAR"--></code>) or CGI (<em>e.g.</em>
- <code>$ENV{'VAR'}</code>). Additionally you can dereference
- it in a following RewriteCond pattern via
- <code>%{ENV:VAR}</code>. Use this to strip but remember
- information from URLs.</li>
+ '<strong><code>type|T</code></strong>=<em>MIME-type</em>'
+ (force MIME <strong>t</strong>ype)<br />
+ Force the MIME-type of the target file to be
+ <em>MIME-type</em>. For instance, this can be used to
+ setup the content-type based on some conditions.
+ For example, the following snippet allows <code>.php</code> files to
+ be <em>displayed</em> by <code>mod_php</code> if they are called with
+ the <code>.phps</code> extension:
+ <example>
+ RewriteRule ^(.+\.php)s$ $1 [T=application/x-httpd-php-source]
+ </example>
+ </li>
- <li>
- '<strong><code>cookie|CO=</code></strong><em>NAME</em>:<em>VAL</em>:<em>domain</em>[:<em>lifetime</em>[:<em>path</em>]]'
- (set <strong>co</strong>okie)<br />
- This sets a cookie on the client's browser. The cookie's name
- is specified by <em>NAME</em> and the value is
- <em>VAL</em>. The <em>domain</em> field is the domain of the
- cookie, such as '.apache.org',the optional <em>lifetime</em>
- is the lifetime of the cookie in minutes, and the optional
- <em>path</em> is the path of the cookie</li>
-
</ul>
<note><title>Note</title> Never forget that <em>Pattern</em> is