@marcel91200 / caddy Mirror · read-only / commits / d242f10e
Fork 0

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Mirrored from https://github.com/Slazee/caddy.git

Synced Nov 14, 05:15 UTC

Add query_string to HTTP replacer and use it for try_files

Matthew Holt committed Aug 27, 2019 at 14:38 UTC d242f10eda8fdd52f86701cf3685090e9761489f
2 files changed +8 -2
modules/caddyhttp/fileserver/caddyfile.go
+2 -2
@@ -17,9 +17,9 @@ package fileserver
17 import (
18 "encoding/json"
19
20 - "github.com/caddyserver/caddy/v2/modules/caddyhttp/rewrite"
20 "github.com/caddyserver/caddy/v2/caddyconfig/httpcaddyfile"
21 "github.com/caddyserver/caddy/v2/modules/caddyhttp"
22 + "github.com/caddyserver/caddy/v2/modules/caddyhttp/rewrite"
23 )
24
25 func init() {
@@ -99,7 +99,7 @@ func parseTryFiles(h httpcaddyfile.Helper) ([]httpcaddyfile.ConfigValue, error)
99 }
100
101 handler := rewrite.Rewrite{
102 - URI: "{http.matchers.file.relative}{http.request.uri.query}",
102 + URI: "{http.matchers.file.relative}{http.request.uri.query_string}",
103 }
104
105 matcherSet := map[string]json.RawMessage{
modules/caddyhttp/replacer.go
+6
@@ -89,6 +89,12 @@ func addHTTPVarsToReplacer(repl caddy.Replacer, req *http.Request, w http.Respon
89 return dir, true
90 case "http.request.uri.query":
91 return req.URL.RawQuery, true
92 + case "http.request.uri.query_string":
93 + qs := req.URL.Query().Encode()
94 + if qs != "" {
95 + qs = "?" + qs
96 + }
97 + return qs, true
98 }
99
100 // hostname labels