2013-08-14 12 views
6

私はgolangの "html/template"パッケージを使用して、フレームワークとして同じ_base.htmlを使用して複数のページにコンテンツを提供しています。私は、複数のhtmlファイル(_base.htmlとコンテンツファイル)を1つにするためにマージします。右のディレクトリに_base.htmlポイントで私の.cssへのHTMLリンクタグを使用しているので、私のCSSがうまくレンダリング私のウェブサーバのルートにそう異なるディレクトリレベルでCSSを提供するGolangテンプレート

func main() { 
http.HandleFunc("/", indexHandler) 
http.HandleFunc("/blog/", blogHandler) 
http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("http/css")))) 
http.ListenAndServe(":1337", nil) 
} 

func indexHandler(w http.ResponseWriter, r *http.Request) { 
index := template.Must(template.ParseFiles(
    "http/html/_base.html", 
    "http/html/index.html", 
)) 
index.Execute(w, nil) 
} 

func blogHandler(w http.ResponseWriter, r *http.Request) { 
blog := template.Must(template.ParseFiles(
    "http/html/_base.html", 
    "http/html/blog.html", 
)) 
blog.Execute(w, nil) 
} 

、:

<link href="css/style.css" rel="stylesheet"> 

しかしとき私は/ to/blog /にナビゲートしています。私のCSSはレベルが下がった(またはレベルアップしましたが、あなたはそれを見たいと思っています)ので、CSS hrefが突然/blog/css/style.cssを指しています。レンダリングされません。

これは、_base.htmlでマージするすべてのコンテンツファイルにCSSのレベルを簡単に固定することができますが、別のクリーンな方法でなければならないと感じています。この場合、私の腸は誤った判断をしていますか?

答えて

5

はそれをテストしていませんでしたので、私は本当にわからないんだけど、何

<link href="/css/style.css" rel="stylesheet"> 

<link href="css/style.css" rel="stylesheet"> 

の変更について?

+0

ダーン、私はそのようなn00bです、あなたはとても親切です。知らざるべきだったが、忘れていた。どうもありがとうございます – Dani

関連する問題