You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Ralf S. Engelschall" <rs...@engelschall.com> on 1997/01/21 10:56:39 UTC
ANNOUNCE: mod_rewrite 2.4.0
Here is a copy of the official announcement.
I hope some of you will test it also and give feedback. I don't know if we
should include it into 1.2b5, but because I want 2.4.X in the final Apache 1.2
RELEASE it would be a good decision. But please review the changes first!
There are certainly some still unknown bugs due to the recently introduced
features. If it is reviews ok then commit it to the repository.
=============================================================================
ANNOUNCING
Ralf S. Engelschall's
_ _ _
_ __ ___ ___ __| | _ __ _____ ___ __(_) |_ ___
| '_ ` _ \ / _ \ / _` | | '__/ _ \ \ /\ / / '__| | __/ _ \
| | | | | | (_) | (_| | | | | __/\ V V /| | | | || __/
|_| |_| |_|\___/ \__,_|___|_| \___| \_/\_/ |_| |_|\__\___|
|_____|
The Apache URL Rewriting Module
<URL:http://www.engelschall.com/sw/mod_rewrite/>
Version 2.4.0 (21-01-1997)
Summary
=======
This module uses a rule-based rewriting engine (based on a
regular-expression parser) to rewrite requested URLs on the fly.
It supports an unlimited number of additional rule conditions (which can
operate on a lot of variables, even on HTTP headers) for granular
matching and even external database lookups (either via plain text
tables, DBM hash files or even external processes) for advanced URL
substitution.
It operates on the full URLs (including the PATH_INFO part) both in
per-server context (httpd.conf) and per-dir context (.htaccess) and even
can generate QUERY_STRING parts on result. The rewriting result finally
can lead to internal subprocessing, external request redirection or even
to internal proxy throughput.
New To Version 2.4
==================
o under Apache 1.2 mod_rewrite now can return any HTTP response code in the
range of 300-400 on redirects. For instance this can be used to send back
"permanent moved" responses, etc. This feature gets controlled by
appending "=<CODE>" to the "R" flag for RewriteRule, i.e. the following
rules are now valid:
RewriteRule /oldurl /newurl [R=permanent]
RewriteRule /oldurl /newurl [R=303]
o because the 410/GONE HTTP reponse code is useful but not really a redirect
response, there is now an additional RewriteRule flag named "G|gone" to
force the current URL to be gone.
o added new functionality: subrequest look-aheads!
First there are now two new tests for RewriteCond:
"-U" to check if the path is a valid URI and accessible via
all the server's currently-configured access controls
for that path
"-F" to check if the path is a valid file and accessible
via all the server's currently-configured access
controls for that path
Second there are three new variable lookups to RewriteCond:
"LA-U:xxx" performs a sub-request to look ahead for
the current URL and lookup variable xxx
"LA-F:xxx" performs a sub-request to look ahead for
the current URL and lookup variable xxx
"IS_SUBREQ" which returns "true" in a subrequest or
"false" in the main request
o now %{ENV:xx} lookup xx first in the internal Apache structure
r->notes and in r->subprocess_env and then via getenv(). This provides you
with the ability to lookup more information.
o added a new RewriteRule flag: env|E=VAR:VAL
where $n gets interpolated in VAL. You can use this to parse out stuff
from the URL and safe or remember it in some env-variable which can be
used inside CGI or XSSI.
o now mod_rewrite uses fcntl() or flock() based locking for
both the rewrite logfile and the RewriteMap program communication.
o the documentation was updated to the recent changes and fixed
at a few locations.
o successfully tested mod_rewrite with Apache 1.1.1 and Apache 1.2b4.
=============================================================================
Ralf S. Engelschall
rse@engelschall.com
http://www.engelschall.com/