diff options
-rw-r--r-- | src/cmd/godoc/godoc.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/cmd/godoc/godoc.go b/src/cmd/godoc/godoc.go index 9331d2cae..e760d2230 100644 --- a/src/cmd/godoc/godoc.go +++ b/src/cmd/godoc/godoc.go @@ -943,6 +943,12 @@ func serveFile(c *http.Conn, r *http.Request) { return case ext == ".html": + if strings.HasSuffix(path, "/index.html") { + // We'll show index.html for the directory. + // Use the dir/ version as canonical instead of dir/index.html. + http.Redirect(c, r.URL.Path[0:len(r.URL.Path)-len("index.html")], http.StatusMovedPermanently) + return + } serveHTMLDoc(c, r, path) return @@ -958,6 +964,10 @@ func serveFile(c *http.Conn, r *http.Request) { } if dir != nil && dir.IsDirectory() { + if index := path + "/index.html"; isTextFile(index) { + serveHTMLDoc(c, r, index) + return + } serveDirectory(c, r, path) return } |