summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorRuediger Pluem <rpluem@apache.org>2008-05-29 21:53:30 +0200
committerRuediger Pluem <rpluem@apache.org>2008-05-29 21:53:30 +0200
commitc3242b9c5c9e7f1b8fabb6fe006075bc6d1db3be (patch)
tree66a7b340de3f5f2812e7b106e214061b3ac8ad64 /modules
parent* Update transformation by doing a ./build.sh all convmap (diff)
downloadapache2-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.c21
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;