http.Handle("/static", http.FileServer(http.Dir("./static")))
просто означает: «всякий раз, когда кто-то подключается к .../static
, перенаправляйте весь запрос на файловый сервер, расположенный в каталоге ./static".
Однако URL-адрес передается к файловому серверу как есть. Другими словами, файловый сервер принимает запрос от пользователя и считает, что пользователь ищет файл с именем «stati c» в каталоге root ("./static")
.
Фактически, если вы просто поместили файл с именем «stati c» в каталог «./static
», переход к .../static
будет обслуживать этот файл.
Таким образом, для исправления требуются две вещи:
- Измените префикс пути на «
/static/
», а не на «/static
», чтобы все файлы в каталоге stati c можно было перенаправить на файловый сервер (а не только на «/ stati * 1030» * "request) - Удалите префикс пути"
/static/
"из запроса перед его передачей на файловый сервер.
Примерно так:
http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("./static"))))