diff --git a/jawr/jawr-core/src/main/java/net/jawr/web/servlet/JawrRequestHandler.java b/jawr/jawr-core/src/main/java/net/jawr/web/servlet/JawrRequestHandler.java index 4f155bba..518dfbbc 100644 --- a/jawr/jawr-core/src/main/java/net/jawr/web/servlet/JawrRequestHandler.java +++ b/jawr/jawr-core/src/main/java/net/jawr/web/servlet/JawrRequestHandler.java @@ -650,6 +650,8 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro String requestedPath = "".equals(jawrConfig.getServletMapping()) ? request.getServletPath() : request.getPathInfo(); + // Remove context override prefix from the requested path + requestedPath = removePathOverridePrefix(request, requestedPath); processRequest(requestedPath, request, response); } catch (Exception e) { @@ -662,6 +664,26 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro } } + /** + * Remove the context override prefix from the requestedPath + * + * @param request the request + * @param requestedPath the requested path + * @return the requested path without the context override prefix + */ + public String removePathOverridePrefix(HttpServletRequest request, String requestedPath) { + String prefix; + if (request.isSecure()) { + prefix = jawrConfig.getContextPathSslOverride(); + } else { + prefix = jawrConfig.getContextPathOverride(); + } + if (prefix != null && requestedPath.startsWith(prefix)) { + return requestedPath.substring(prefix.length()); + } + return requestedPath; + } + /** * Handles a resource request. *