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