From 1e8af2732946e39fe2821c8a63c2c9746d1672fc Mon Sep 17 00:00:00 2001 From: Matthew Holt Date: Fri, 3 Apr 2020 10:25:25 -0600 Subject: [PATCH] fastcgi: Account for lack of split path configuration (fix #3221) --- .../caddyhttp/reverseproxy/fastcgi/fastcgi.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/caddyhttp/reverseproxy/fastcgi/fastcgi.go b/modules/caddyhttp/reverseproxy/fastcgi/fastcgi.go index 915b8df7..6ad5047e 100644 --- a/modules/caddyhttp/reverseproxy/fastcgi/fastcgi.go +++ b/modules/caddyhttp/reverseproxy/fastcgi/fastcgi.go @@ -181,14 +181,14 @@ func (t Transport) buildEnv(r *http.Request) (map[string]string, error) { fpath := r.URL.Path - // Split path in preparation for env variables. - // Previous canSplit checks ensure this can never be -1. - // TODO: I haven't brought over canSplit from v1; make sure this doesn't break - splitPos := t.splitPos(fpath) - - // Request has the extension; path was split successfully - docURI := fpath[:splitPos] - pathInfo := fpath[splitPos:] + // split "actual path" from "path info" if configured + var docURI, pathInfo string + if splitPos := t.splitPos(fpath); splitPos > -1 { + docURI = fpath[:splitPos] + pathInfo = fpath[splitPos:] + } else { + docURI = fpath + } scriptName := fpath // Strip PATH_INFO from SCRIPT_NAME