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
parent
eb86f45c
Please register or sign in to comment