diff --git a/api-gateway-config/scripts/lua/lib/filemgmt.lua b/api-gateway-config/scripts/lua/lib/filemgmt.lua
index e04c391..c8f7b85 100644
--- a/api-gateway-config/scripts/lua/lib/filemgmt.lua
+++ b/api-gateway-config/scripts/lua/lib/filemgmt.lua
@@ -61,7 +61,7 @@
 
   local updatedPath = ngx.unescape_uri(gatewayPath):gsub("%{(%w*)%}", utils.convertTemplatedPathParam)
 
-  local location = utils.concatStrings({"location ~ ^/api/", tenant, "/", updatedPath, " {\n",
+  local location = utils.concatStrings({"location ~ ^/api/", tenant, "/", updatedPath, "(\\b) {\n",
                                         prefix,
                                         outgoingResource,
                                         "}\n"})
diff --git a/api-gateway-config/scripts/lua/routing.lua b/api-gateway-config/scripts/lua/routing.lua
index f85ff22..3278d16 100644
--- a/api-gateway-config/scripts/lua/routing.lua
+++ b/api-gateway-config/scripts/lua/routing.lua
@@ -53,11 +53,7 @@
       end
       -- Parse backend url
       local u = url.parse(opFields.backendUrl)
-      -- Check for path
-      if u.path == nil or u.path == '' then
-        u.path = '/'
-      end
-      ngx.req.set_uri(u.path)
+      ngx.req.set_uri(getUriPath(u.path))
       -- Set upstream - add port if it's in the backendURL
       local upstream = utils.concatStrings({u.scheme, '://', u.host})
       if u.port ~= nil and u.port ~= '' then
@@ -103,11 +99,30 @@
     ngx.req.set_method(ngx.HTTP_PUT)
   elseif (string.lower(v) == 'delete') then
     ngx.req.set_method(ngx.HTTP_DELETE)
+  elseif (string.lower(v) == 'patch') then
+      ngx.req.set_method(ngx.HTTP_PATH)
+  elseif (string.lower(v) == 'head') then
+      ngx.req.set_method(ngx.HTTP_HEAD)
+  elseif (string.lower(v) == 'options') then
+      ngx.req.set_method(ngx.HTTP_OPTIONS)
   else
     ngx.req.set_method(ngx.HTTP_GET)
   end
 end
 
+function getUriPath(backendPath)
+  local uriPath
+  local i, j = ngx.var.uri:find(ngx.var.gatewayPath)
+  local incomingPath = ngx.var.uri:sub(j + 1)
+  -- Check for backendUrl path
+  if backendPath == nil or backendPath== '' or backendPath== '/' then
+    uriPath = (incomingPath and incomingPath ~= '') and incomingPath or '/'
+  else
+    uriPath = utils.concatStrings({backendPath, incomingPath})
+  end
+  return uriPath
+end
+
 _M.processCall = processCall
 
 return _M
