mirror of
https://github.com/apache/httpd.git
synced 2026-01-06 09:01:14 +03:00
xforms
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1308344 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -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>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>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> 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
|
||||
<Directory /opt/myapp-1.2.3>
|
||||
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
|
||||
</Directory>
|
||||
</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>
|
||||
|
||||
@@ -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">
|
||||
@@ -207,57 +207,7 @@
|
||||
</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"> en </a> |
|
||||
|
||||
Reference in New Issue
Block a user