2017-06-27 13 views
1

私は静的ファイルをhttp.FileServer経由で提供しようとしていますが、私が求めているディレクトリを返信することはありません。コードは次のとおりです。http.FileServerが "404ページが見つかりません"を送信しています

func main() { 

fmt.Println("Serving Files") 
http.HandleFunc("/", homeFunc) 
http.HandleFunc("/search", searchFunc) 
http.Handle("/tmp/", 
    http.StripPrefix("/tmp/", http.FileServer(http.Dir("/assets")))) 

http.ListenAndServe(":8080", nil) 
} 

mywebsite.com/tmp/にアクセスすると、「404ページが見つかりません」と表示されます。私が何かが欠けている場合のための少しの助けは大いに感謝されるでしょう!

編集:ここでは、ファイルのアーキテクチャです:

main folder 
| 
|-/Assets 
|--(assets) 
| 
|-main.go 
+1

[なぜ静的ファイルにアクセスするにはhttp.StripPrefixを使用する必要がありますか?](https://stackoverflow.com/questions/27945310/why-do-i-need-to-use-http-stripprefix -to-access-my-static-files/27946132#27946132); [404ページが見つかりません - レンダリングCSSファイル](https://stackoverflow.com/questions/28293452/404-page-not-found-go-rendering-css-file/28294524#28294524)。 – icza

+0

goファイルは "/"から実行され、/ assetsファイルからアセットを検索します。残念なことに、このような状況では、どちらの回答も私を助けませんでした。 – Psaltus

答えて

1

ディレクトリ/assetsは存在していますか? /assetsは絶対パスなので、ファイルシステムのルートになければならないことに注意してください。あなたがプログラムを実行している作業ディレクトリに何かを望むなら、./assetsを使うべきです。

+0

これは機能します!どうもありがとうございます。この問題は何週間も私を悩ませました – Psaltus

関連する問題