diff options
author | Ruediger Pluem <rpluem@apache.org> | 2008-05-29 21:53:30 +0200 |
---|---|---|
committer | Ruediger Pluem <rpluem@apache.org> | 2008-05-29 21:53:30 +0200 |
commit | c3242b9c5c9e7f1b8fabb6fe006075bc6d1db3be (patch) | |
tree | 66a7b340de3f5f2812e7b106e214061b3ac8ad64 /modules | |
parent | * Update transformation by doing a ./build.sh all convmap (diff) | |
download | apache2-c3242b9c5c9e7f1b8fabb6fe006075bc6d1db3be.tar.xz apache2-c3242b9c5c9e7f1b8fabb6fe006075bc6d1db3be.zip |
* Do not add the query string again in the case that we are using the
unparsed uri.
PR: 44803
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@661452 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules')
-rw-r--r-- | modules/proxy/mod_proxy_balancer.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/modules/proxy/mod_proxy_balancer.c b/modules/proxy/mod_proxy_balancer.c index da0e4fe514..0be4cff38c 100644 --- a/modules/proxy/mod_proxy_balancer.c +++ b/modules/proxy/mod_proxy_balancer.c @@ -51,20 +51,17 @@ static int proxy_balancer_canon(request_rec *r, char *url) return HTTP_BAD_REQUEST; } /* now parse path/search args, according to rfc1738 */ - /* N.B. if this isn't a true proxy request, then the URL _path_ - * has already been decoded. True proxy requests have r->uri - * == r->unparsed_uri, and no others have that property. - */ - if (r->uri == r->unparsed_uri) { - search = strchr(url, '?'); - if (search != NULL) - *(search++) = '\0'; - } - else - search = r->args; + search = NULL; /* process path */ - path = ap_proxy_canonenc(r->pool, url, strlen(url), enc_path, 0, r->proxyreq); + if (apr_table_get(r->notes, "proxy-nocanon")) { + path = url; /* this is the raw path */ + } + else { + path = ap_proxy_canonenc(r->pool, url, strlen(url), enc_path, 0, + r->proxyreq); + search = r->args; + } if (path == NULL) return HTTP_BAD_REQUEST; |