diff options
author | Stefan Fritsch <sf@sfritsch.de> | 2014-03-29 21:56:19 +0100 |
---|---|---|
committer | Stefan Fritsch <sf@sfritsch.de> | 2014-03-29 21:56:45 +0100 |
commit | 2a463b3cd73c32ee9dcd508248d0194923f435f4 (patch) | |
tree | 2ff478255a77a55031056790918b6f983bb7b20a /docs/manual/rewrite/advanced.html.en | |
parent | 86d5cc79d9d6750da8771fdb0c9ab22c19b8ad45 (diff) | |
download | apache2-upstream/2.4.9.tar.gz |
Imported Upstream version 2.4.9upstream/2.4.9
Diffstat (limited to 'docs/manual/rewrite/advanced.html.en')
-rw-r--r-- | docs/manual/rewrite/advanced.html.en | 64 |
1 files changed, 23 insertions, 41 deletions
diff --git a/docs/manual/rewrite/advanced.html.en b/docs/manual/rewrite/advanced.html.en index 20d02ed8..685307f6 100644 --- a/docs/manual/rewrite/advanced.html.en +++ b/docs/manual/rewrite/advanced.html.en @@ -9,7 +9,7 @@ <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> -<script src="../style/scripts/prettify.js" type="text/javascript"> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> </script> <link href="../images/favicon.ico" rel="shortcut icon" /></head> @@ -21,8 +21,8 @@ <div id="path"> <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Advanced Techniques with mod_rewrite</h1> <div class="toplang"> -<p><span>Available Languages: </span><a href="../en/rewrite/avoid.html" title="English"> en </a> | -<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +<p><span>Available Languages: </span><a href="../en/rewrite/advanced.html" title="English"> en </a> | +<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> </div> @@ -92,11 +92,9 @@ http://physical_host_of_user1/u/user/anypath files assuming that server0 is a default server which will be used if a user has no entry in the map:</p> -<pre class="prettyprint lang-config"> -RewriteEngine on +<pre class="prettyprint lang-config">RewriteEngine on RewriteMap users-to-hosts txt:/path/to/map.users-to-hosts -RewriteRule ^/u/([^/]+)/?(.*) http://${users-to-hosts:$1|server0}/u/$1/$2 -</pre> +RewriteRule ^/u/([^/]+)/?(.*) http://${users-to-hosts:$1|server0}/u/$1/$2</pre> </dd> </dl> @@ -126,11 +124,9 @@ RewriteRule ^/u/([^/]+)/?(.*) http://${users-to-hosts:$1|server0}/u/$1/$2 <dd> This is done via the following ruleset: -<pre class="prettyprint lang-config"> -# This example is valid in per-directory context only +<pre class="prettyprint lang-config"># This example is valid in per-directory context only RewriteCond %{REQUEST_URI} !-U -RewriteRule ^(.+)\.html$ /regenerate_page.cgi [PT,L] -</pre> +RewriteRule ^(.+)\.html$ /regenerate_page.cgi [PT,L]</pre> <p>The <code>-U</code> operator determines whether the test string @@ -168,11 +164,9 @@ RewriteRule ^(.+)\.html$ /regenerate_page.cgi [PT,L] <p>We'll use <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> and a list of servers to accomplish this.</p> -<pre class="prettyprint lang-config"> -RewriteEngine on +<pre class="prettyprint lang-config">RewriteEngine on RewriteMap lb rnd:/path/to/serverlist.txt -RewriteRule ^/(.*) http://${lb:servers}/$1 [P,L] -</pre> +RewriteRule ^/(.*) http://${lb:servers}/$1 [P,L]</pre> <p><code>serverlist.txt</code> will contain a list of the servers:</p> @@ -224,9 +218,7 @@ featureful than anything you can cobble together using mod_rewrite.</p> URL causes the 'page' to be refreshed every time it is updated on the filesystem.</p> -<pre class="prettyprint lang-config"> -RewriteRule ^(/[uge]/[^/]+/?.*):refresh /internal/cgi/apache/nph-refresh?f=$1 -</pre> +<pre class="prettyprint lang-config">RewriteRule ^(/[uge]/[^/]+/?.*):refresh /internal/cgi/apache/nph-refresh?f=$1</pre> <p>Now when we reference the URL</p> @@ -245,8 +237,7 @@ RewriteRule ^(/[uge]/[^/]+/?.*):refresh /internal/cgi/apache/nph-refresh?f=$1 one would usually say "left as an exercise to the reader" ;-) I will provide this, too.</p> -<pre class="prettyprint lang-perl"> -#!/sw/bin/perl +<pre class="prettyprint lang-perl">#!/sw/bin/perl ## ## nph-refresh -- NPH/CGI script for auto refreshing pages ## Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved. @@ -346,8 +337,7 @@ for ( $n = 0 ; $n & lt ; $QS_n ; $n++ ) { exit(0); -##EOF## -</pre> +##EOF##</pre> </dd> </dl> @@ -377,10 +367,8 @@ exit(0); <p>We use the following ruleset to expand the tilde URLs into the above layout.</p> -<pre class="prettyprint lang-config"> -RewriteEngine on -RewriteRule ^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*) /home/<strong>$2</strong>/$1/public_html$3 -</pre> +<pre class="prettyprint lang-config">RewriteEngine on +RewriteRule ^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*) /home/<strong>$2</strong>/$1/public_html$3</pre> </dd> </dl> @@ -437,13 +425,11 @@ RewriteRule ^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*) /home/<strong>$2</stro <code>>STRING</code> and <code>=STRING</code> we can do time-dependent redirects:</p> -<pre class="prettyprint lang-config"> -RewriteEngine on +<pre class="prettyprint lang-config">RewriteEngine on RewriteCond %{TIME_HOUR}%{TIME_MIN} >0700 RewriteCond %{TIME_HOUR}%{TIME_MIN} <1900 RewriteRule ^foo\.html$ foo.day.html [L] -RewriteRule ^foo\.html$ foo.night.html -</pre> +RewriteRule ^foo\.html$ foo.night.html</pre> <p>This provides the content of <code>foo.day.html</code> @@ -483,18 +469,14 @@ RewriteRule ^foo\.html$ foo.night.html <dd> <p>Use the [E] flag to set an environment variable.</p> -<pre class="prettyprint lang-config"> -RewriteEngine on -RewriteRule ^/horse/(.*) /pony/$1 [E=<strong>rewritten:1</strong>] -</pre> +<pre class="prettyprint lang-config">RewriteEngine on +RewriteRule ^/horse/(.*) /pony/$1 [E=<strong>rewritten:1</strong>]</pre> <p>Later in your ruleset you might check for this environment variable using a RewriteCond:</p> -<pre class="prettyprint lang-config"> -RewriteCond %{ENV:rewritten} =1 -</pre> +<pre class="prettyprint lang-config">RewriteCond %{ENV:rewritten} =1</pre> <p>Note that environment variables do not survive an external @@ -506,12 +488,12 @@ RewriteCond %{ENV:rewritten} =1 </div></div> <div class="bottomlang"> -<p><span>Available Languages: </span><a href="../en/rewrite/avoid.html" title="English"> en </a> | -<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> +<p><span>Available Languages: </span><a href="../en/rewrite/advanced.html" title="English"> en </a> | +<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> <script type="text/javascript"><!--//--><![CDATA[//><!-- var comments_shortname = 'httpd'; -var comments_identifier = 'http://httpd.apache.org/docs/2.4/rewrite/avoid.html'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/rewrite/advanced.html'; (function(w, d) { if (w.location.hostname.toLowerCase() == "httpd.apache.org") { d.write('<div id="comments_thread"><\/div>'); @@ -526,7 +508,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/rewrite/avoid.html'; } })(window, document); //--><!]]></script></div><div id="footer"> -<p class="apache">Copyright 2013 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="apache">Copyright 2014 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- if (typeof(prettyPrint) !== 'undefined') { prettyPrint(); |