The mod_rewrite ``Break Its Heart'' patch:
- the rewriting engine now is really very well documented, so
all Apache developers should be able to understand it now ;_) Try it
out: look at the new apply_rewrite_list and apply_rewrite_rule functions
and try to understand it...
- the rewriting engine no longer contains any redundant stuff for the
proxy-throughput, redirection and per-dir cases. This makes it even more
clear to understand and avoid future bugs like the following:
- fixed the query string bug recently discovered by Mark:
| RewriteRule ^foo /bar?query [R]
| RewriteRule ^foo http://host/bar?query [R]
where the second rule's query string was escaped.
(fixed by avoiding this as an extra case ;_)
- fixed the nasty redirection bug recently discovered in c.i.w.s.u
| RewriteRule ^(.*[^/])(.*) ${vhost:$1|$1}$2 [R,L]
where the expansion of ${vhost} to http://... was too
late for the rewriting engine to accept it as a redirect.
(fixed by new and more accurate evaluation order)
- split out the fully-qualification of URLs into own named function
fully_qualify_uri(r). This avoid redundancy, too. Also incorporate
updated APACHE_SSL #ifdef'edchanges to mod_rewrite.c from Ben's latest
1.2.4+ssl_1.11 patch
- make cmd_rewriterule static (this was left over from old days of the
mod_rewrite_compat which never found its way into the core distribution)
Submitted by: Ralf S. Engelschall
Reviewed by: Roy T. Fielding, Jim Jagielski, Ralf S. Engelschall
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@79574 13f79535-47bb-0310-9956-ffa450edef68
Loading
Please sign in to comment