diff --git a/lib/node-http-proxy/proxy-table.js b/lib/node-http-proxy/proxy-table.js index 4ab6690ee63eb564fba8f9bffba9e12d17e1ea09..d93f082f46a91723e1ef2d2456f282776196e87a 100644 --- a/lib/node-http-proxy/proxy-table.js +++ b/lib/node-http-proxy/proxy-table.js @@ -138,14 +138,12 @@ ProxyTable.prototype.getProxyLocation = function (req) { var route = this.routes[i]; if (target.match(route.route)) { - var segments = route.path.split('/'); + var pathSegments = route.path.split('/'); - if (segments.length > 0) { - var lastSegment = new RegExp("/" + segments[segments.length - 1] + "$"); - - if(req.url.match(lastSegment)) { - req.url = req.url.replace(lastSegment, '/'); - } + if (pathSegments.length > 0) { + // don't include the proxytable path segments in the proxied request url + pathSegments = new RegExp("/" + pathSegments.slice(1).join('/')); + req.url = req.url.replace(pathSegments, ''); } var location = route.target.split(':'),