Golang игнорирует обработку статических файлов

Всем привет есть струтура проекта

-testcss
---static
------test.html
------test.css
---main.go

Внутри test.html:

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8" >
    <link rel="stylesheet" type="text/css" href="test.css">
</head>

<body>
    <h1>Data</h1>
</body>

</html>

Внутри main.go

package main

import (
    "log"
    "net/http"
    "text/template"
)

func main() {
    http.Handle("/static/", http.StripPrefix("/static", http.FileServer(http.Dir("/home/umd/gop/testcss/"))))

    http.HandleFunc("/test/", func(w http.ResponseWriter, r *http.Request) {
        (w).Header().Set("Content-Type", "text;charset-utf-8")
        templ, _ := template.ParseFiles("./static/test.html")
        templ.Execute(w, nil)
    })

    log.Fatal(http.ListenAndServe(":8181", nil))
}

Внутри test.css

h1{
    color: springgreen;
    padding-left: 70%;
}
body{
    background-color: red;
}

Проблема:

Если зайти на роут localhost:8181/test/ то я ожидаю там увидеть html страницу с примененными стилями css, но вижу только html страницу без применения стилей.

Как правильно подключить css чтобы golang корректно обработал и вывел страницу с применением стилей? Гуглил и везде подход такой

http.Handle("/static/", http.StripPrefix("/static", http.FileServer(http.Dir("/home/umd/gop/testcss/"))))

Но он почему то не работает, либо я неправильно пытаюсь загрузить страницу

templ, _ := template.ParseFiles("./static/test.html")
templ.Execute(w, nil)

Но я не знаю как сделать правильно и чтобы работал css Примечательно и возможно важно:

Если зайти на роут localhost:8181/static/ то там есть моя папка static в которую я могу перейти и открыть html документ и он отображается уже с примененными стилями. Полный роут при этом такой

localhost:8181/static/static/test.html

Прошу помогите пожалуйста разобраться. Спасибо всем кто откликнется.

UPD: Если не добавлять строку

(w).Header().Set("Content-Type", "text;charset-utf-8")

То страница загрузится без стилей и будет сообщение в консоли браузера

Таблица стилей http://192.168.1.109:8181/test/test.css не была загружена, потому что её MIME-тип («text/html») не «text/css».

Если в этой строке text;charset-utf-8 поменять на text/css;charset-utf-8 то страница загрузится и я получу содержимое файла test.html а в коноли браузера будет

Простой текстовый документ не содержит объявления кодировки символов. Если документ содержит символы, не входящие в диапазон US-ASCII, то в некоторых конфигурациях браузера в документе будет отображён искажённый текст. Кодировка символов файла должна быть объявлена в протоколе передачи или файл должен использовать индикатор порядка байтов (BOM) в качестве сигнатуры кодировки.

Если в этой строке text;charset-utf-8 поменять на text/html;charset-utf-8 то в браузере загрузится страница корректно но без стилей а в консоли браузера будет ошибка

Таблица стилей http://192.168.1.109:8181/test/test.css не была загружена, потому что её MIME-тип («text/html») не «text/css».

Если оставить строку text;charset-utf-8 то страница загружается без ошибок но без стилей


Ответы (0 шт):