From 8bef4246192937edf56f968d0ffd5b20cfbbe558 Mon Sep 17 00:00:00 2001
From: Eric Covener The This directive is required for per-directory rewrites whose context
- is a directory made available via the If your URL path does not exist verbatim on the filesystem,
- or isn't directly under your The example below demonstrates how to map
- http://example.com/myapp/index.html to
- /home/www/example/newsite.html, in a The This directive is required when you use a relative path
+ in a substitution in per-directory (htaccess) context unless either
+ of the following conditions are true:
+ Status: Extension
- Module: mod_rewrite RewriteBase
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 RewriteRule
- in a .htaccess
file, mod_rewrite
strips off
- the local directory prefix before processing, then rewrites the rest of
- the URL. When the rewrite is completed, mod_rewrite
- automatically adds the local directory prefix (or the
- RewriteBase
when set) back on to the substitution
- before handing it back to the core of the server as if it were the original
- URL.Alias
- directive, when the substitution uses a relative path.DocumentRoot
,
- you must use RewriteBase
in every
- .htaccess
file where you want to use RewriteRule
directives..htaccess
file. This
- assumes that the content available at
- http://example.com/ is on disk at /home/www/example/RewriteBase
directive specifies the
+ URL prefix to be used for per-directory (htaccess)
+ RewriteRule
directives that substitute a relative
+ path.
+
+ DocumentRoot
+ (as opposed to reachable by other means, such as
+ Alias
).RewriteRule
, suffixed by the relative
+ substitution is also valid as a URL path on the server
+ (this is rare).
In the example below, RewriteBase
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.
+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>
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.
- -It does not implement HTTP/1.x fully; only accepts some 'expected' forms
- of responses. The rather heavy use of strstr(3)
shows up top
- in profile, which might indicate a performance problem; i.e., you
- would measure the ab
performance rather than the server's.
Sample output is provided here.
-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)
The output may vary depending on the command line parameters given. Possible output with a brief explanation of each element is listed below.
@@ -342,6 +292,17 @@ Percentage of the requests served within a certain time (ms)totalread / 1024 / timetaken
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.
+ +It does not implement HTTP/1.x fully; only accepts some 'expected' forms
+ of responses. The rather heavy use of strstr(3)
shows up top
+ in profile, which might indicate a performance problem; i.e., you
+ would measure the ab
performance rather than the server's.
Available Languages: en | -- 2.40.0