]> granicus.if.org Git - apache/commitdiff
xforms
authorEric Covener <covener@apache.org>
Mon, 2 Apr 2012 13:26:11 +0000 (13:26 +0000)
committerEric Covener <covener@apache.org>
Mon, 2 Apr 2012 13:26:11 +0000 (13:26 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1308346 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/mod/mod_rewrite.html.en
docs/manual/programs/ab.html.en

index a98e69a023e2da78d6b39ace3de6a160888fd4da..598bbf0f742c0cbe286464eb74536916306dd830 100644 (file)
@@ -112,40 +112,40 @@ URLs on the fly</td></tr>
 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
 </table>
-      <p>The <code class="directive">RewriteBase</code> directive explicitly
-      sets the base URL-path (not filesystem directory path!)  for per-directory rewrites
-      that result in the substitution of a relative path.
-      When you use a <code class="directive"><a href="#rewriterule">RewriteRule</a></code>
-      in a <code>.htaccess</code> file, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> strips off
-      the local directory prefix before processing, then rewrites the rest of
-      the URL. When the rewrite is completed, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
-      automatically adds the local directory prefix (or the
-      <code class="directive">RewriteBase</code> when set) back on to the substitution
-      before handing it back to the core of the server as if it were the original
-      URL.</p>
-
-      <p>This directive is <em>required</em> for per-directory rewrites whose context
-      is a directory made available via the <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>
-      directive, when the substitution uses a relative path.</p>
-
-      <p>If your URL path does not exist verbatim on the filesystem,
-      or isn't directly under your <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>,
-      you must use <code class="directive">RewriteBase</code> in every
-      <code>.htaccess</code> file where you want to use <code class="directive"><a href="#rewriterule">RewriteRule</a></code> directives.</p>
-
-      <p>The example below demonstrates how to map
-      http://example.com/myapp/index.html to
-      /home/www/example/newsite.html, in a <code>.htaccess</code> file. This
-      assumes that the content available at
-      http://example.com/ is on disk at /home/www/example/</p>
+      <p>The <code class="directive">RewriteBase</code> directive specifies the
+      URL prefix to be used for per-directory (htaccess) 
+      <code class="directive">RewriteRule</code> directives that substitute a relative
+      path.</p>
+      <p> This directive is <em>required</em> when you use a relative path
+      in a substitution in per-directory (htaccess) context unless either
+      of the following conditions are true:
+      <ul>
+          <li> The original request, and the substitution, are underneath the 
+               <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
+               (as opposed to reachable by other means, such as 
+               <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>).</li>
+          <li> The <em>filesystem</em> path to the directory containing the
+               <code class="directive">RewriteRule</code>, suffixed by the relative 
+               substitution is also valid as a URL path on the server 
+               (this is rare).</li>
+      </ul>
+      </p>
+
+<p> In the example below, <code class="directive">RewriteBase</code> is necessary
+    to avoid rewriting to http://example.com/opt/myapp-1.2.3/welcome.html
+    since the resource was not relative to the document root.  This 
+    misconfiguration would normally cause the server to look for an "opt"
+    directory under the document root.</p>
 <div class="example"><pre>
+DocumentRoot /var/www/example.com
+Alias /myapp /opt/myapp-1.2.3
+&lt;Directory /opt/myapp-1.2.3&gt;
 RewriteEngine On
-# The URL-path used to get to this context, not the filesystem path
 RewriteBase /myapp/
-RewriteRule ^index\.html$  newsite.html
+RewriteRule ^index\.html$  welcome.html 
+&lt;/Directory&gt;
 </pre></div>
 
-
 </div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 <div class="directive-section"><h2><a name="RewriteCond" id="RewriteCond">RewriteCond</a> <a name="rewritecond" id="rewritecond">Directive</a></h2>
index a0bd125bbe6601a0577864851eb8591e7ac27a53..33e2479f50b701a8b1189b7a9fb5172ab9e255fe 100644 (file)
@@ -31,8 +31,8 @@
 </div>
 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Synopsis</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#output">Description of output</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#bugs">Bugs</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#output">Example Output</a></li>
 </ul><h3>See also</h3><ul class="seealso"><li><code class="program"><a href="../programs/httpd.html">httpd</a></code></li></ul></div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 <div class="section">
     </dl>
 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 <div class="section">
-<h2><a name="bugs" id="bugs">Bugs</a></h2>
-    <p>There are various statically declared buffers of fixed length. Combined
-    with the lazy parsing of the command line arguments, the response headers
-    from the server and other external inputs, this might bite you.</p>
-
-    <p>It does not implement HTTP/1.x fully; only accepts some 'expected' forms
-    of responses. The rather heavy use of <code>strstr(3)</code> shows up top
-    in profile, which might indicate a performance problem; <em>i.e.</em>, you
-    would measure the <code>ab</code> performance rather than the server's.</p>
-</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="output" id="output">Example Output</a></h2>
-
-    <p>Sample output is provided here.</p>
-    <div class="note"><pre>Server Software:        Apache/2.2.17
-Server Hostname:        testserver.com
-Server Port:            80
-
-Document Path:          /index.html
-Document Length:        787 bytes
-
-Concurrency Level:      5
-Time taken for tests:   0.436 seconds
-Complete requests:      1000
-Failed requests:        0
-Write errors:           0
-Total transferred:      1026000 bytes
-HTML transferred:       787000 bytes
-Requests per second:    2292.26 [#/sec] (mean)
-Time per request:       2.181 [ms] (mean)
-Time per request:       0.436 [ms] (mean, across all concurrent requests)
-Transfer rate:          2296.74 [Kbytes/sec] received
-
-Connection Times (ms)
-              min  mean[+/-sd] median   max
-Connect:        0    1   0.4      1       3
-Processing:     1    1   0.4      1       3
-Waiting:        0    1   0.5      1       2
-Total:          2    2   0.1      2       3
-
-Percentage of the requests served within a certain time (ms)
-  50%      2
-  66%      2
-  75%      2
-  80%      2
-  90%      2
-  95%      2
-  98%      2
-  99%      3
- 100%      3 (longest request)</pre></div>
-
+<h2><a name="output" id="output">Description of output</a></h2>
     <p>The output may vary depending on the command line parameters given.
     Possible output with a brief explanation of each element is listed below.
     </p>
@@ -342,6 +292,17 @@ Percentage of the requests served within a certain time (ms)
         <dd>The rate of transfer as calculated by the formula
         <code>totalread / 1024 / timetaken</code></dd>
     </dl>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="bugs" id="bugs">Bugs</a></h2>
+    <p>There are various statically declared buffers of fixed length. Combined
+    with the lazy parsing of the command line arguments, the response headers
+    from the server and other external inputs, this might bite you.</p>
+
+    <p>It does not implement HTTP/1.x fully; only accepts some 'expected' forms
+    of responses. The rather heavy use of <code>strstr(3)</code> shows up top
+    in profile, which might indicate a performance problem; <em>i.e.</em>, you
+    would measure the <code>ab</code> performance rather than the server's.</p>
 </div></div>
 <div class="bottomlang">
 <p><span>Available Languages: </span><a href="../en/programs/ab.html" title="English">&nbsp;en&nbsp;</a> |