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

Reply via email to