Hi David,
Unfortunately there are people who were breaking because
we didn't follow the spec. The better way to fix it is
to create an inverse function for
ap_parse_uri(request_rec *r, const char *uri) [http_protocol.c]
in mod_jk... one that would 'unparse' the munged
r->uri rewrite and use it instead of r->unparsed_uri.
Keith
| -----Original Message-----
| From: David Rees [mailto:[EMAIL PROTECTED]]
| Sent: Tuesday, August 14, 2001 9:13 PM
| To: [EMAIL PROTECTED]
| Subject: [TC3.2.3][PATCH] mod_jk / mod_rewrite bug fix
|
|
| Hi,
|
| I came across the need to use mod_rewrite to rewrite some URLs I was sending
| to Tomcat.
|
| After playing with it a bit (I had it working a while ago) and finding that
| Tomcat was not receiving the rewritten URLs no matter what I did, I took a
| look at the source to native/apache1.3/mod_jk.c. Not being much of an
| Apache hacker, the variables were descriptive enough to tell me to make this
| change to the file:
|
| --- mod_jk.c.orig Tue Aug 14 17:58:21 2001
| +++ mod_jk.c Tue Aug 14 18:04:58 2001
| @@ -358,7 +358,7 @@
| s->method = (char *)r->method;
| s->content_length = get_content_length(r);
| s->query_string = r->args;
| - s->req_uri = r->unparsed_uri;
| + s->req_uri = r->uri;
| if (s->req_uri != NULL) {
| char *query_str = strchr(s->req_uri, '?');
| if (query_str != NULL) {
|
| After this change my URLs were getting rewritten as expected again.
|
| Can we apply this change to the tree if there's nothing wrong with it for
| the next release? This problem has affected a large number of users, just
| take a look at the tomcat-dev/user archives.
|
| It seems that this change was made to satisfy the errata at
| http://java.sun.com/products/servlet/errata_042700.html, but is it the
| correct fix if we're intentionally munging the request?
|
| Thanks,
| Dave