summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorY.Horie <u5.horie@gmail.com>2022-04-08 06:01:09 +0900
committerGitHub <noreply@github.com>2022-04-07 15:01:09 -0600
commitafca2421112eb89e435888f50f8146364a3c60a4 (patch)
treec61d9b2af04c9d40de8ea14bbd3aa99272829f98
parent7d229665ed96a6b1e5b89d6fd963ac54e2b56bb6 (diff)
staticfiles: Expand placeholder for index files (#4679)
-rw-r--r--caddytest/integration/caddyfile_test.go24
-rw-r--r--caddytest/integration/testdata/index.localhost.html0
-rw-r--r--modules/caddyhttp/fileserver/staticfiles.go1
3 files changed, 25 insertions, 0 deletions
diff --git a/caddytest/integration/caddyfile_test.go b/caddytest/integration/caddyfile_test.go
index 4e9bdd9..be85f4a 100644
--- a/caddytest/integration/caddyfile_test.go
+++ b/caddytest/integration/caddyfile_test.go
@@ -101,3 +101,27 @@ func TestReadCookie(t *testing.T) {
// act and assert
tester.AssertGetResponse("http://localhost:9080/cookie.html", 200, "<h2>Cookie.ClientName caddytest</h2>")
}
+
+func TestReplIndex(t *testing.T) {
+
+ tester := caddytest.NewTester(t)
+ tester.InitServer(`
+ {
+ http_port 9080
+ https_port 9443
+ }
+
+ localhost:9080 {
+ templates {
+ root testdata
+ }
+ file_server {
+ root testdata
+ index "index.{host}.html"
+ }
+ }
+ `, "caddyfile")
+
+ // act and assert
+ tester.AssertGetResponse("http://localhost:9080/", 200, "")
+}
diff --git a/caddytest/integration/testdata/index.localhost.html b/caddytest/integration/testdata/index.localhost.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/caddytest/integration/testdata/index.localhost.html
diff --git a/modules/caddyhttp/fileserver/staticfiles.go b/modules/caddyhttp/fileserver/staticfiles.go
index 0114607..9a2bc6e 100644
--- a/modules/caddyhttp/fileserver/staticfiles.go
+++ b/modules/caddyhttp/fileserver/staticfiles.go
@@ -200,6 +200,7 @@ func (fsrv *FileServer) ServeHTTP(w http.ResponseWriter, r *http.Request, next c
var implicitIndexFile bool
if info.IsDir() && len(fsrv.IndexNames) > 0 {
for _, indexPage := range fsrv.IndexNames {
+ indexPage := repl.ReplaceAll(indexPage, "")
indexPath := caddyhttp.SanitizedPathJoin(filename, indexPage)
if fileHidden(indexPath, filesToHide) {
// pretend this file doesn't exist