我正在嘗試為我的路由器使用標(biāo)準(zhǔn)的 Go http 包。在我的 main.go 中它開始:func main() { mux := http.NewServeMux() fs := http.FileServer(http.Dir("static")) handler := http.StripPrefix("/static/", fs) mux.Handle("/static/", handler) mux.HandleFunc("/my-example-url/", FooHandler)}在 FooHandler() 里面我有一些 println()func FooHandler(w http.ResponseWriter, r *http.Request) { println("r.URL.Path->",r.URL.Path) //more business logic}// output:r.URL.Path-> /my-example-url/static/css/normalize.cssr.URL.Path-> /my-example-url/static/libs/xss.js所以 url 的初始部分不應(yīng)該存在(/my-example-url/ 部分)我認(rèn)為這只會在我嘗試使用尾部斜線提供端點(diǎn)時發(fā)生,例如:mux.Handle("/my-example-url/", handler)我的最終目標(biāo)是根據(jù)我試圖在尾部斜杠后傳遞到 url 中的 id 獲取一些資源,例如:http://localhost:3001/my-example-url/bb98610
1 回答

至尊寶的傳說
TA貢獻(xiàn)1789條經(jīng)驗 獲得超10個贊
在觸發(fā)靜態(tài)資源請求的 html 文件中,您很可能使用相對路徑而不是絕對路徑,這會導(dǎo)致瀏覽器將該相對路徑附加到位置欄中已有的路徑。
例如:
<link href="static/css/normalize.css" rel="stylesheet">
將由瀏覽器轉(zhuǎn)換為/my-example-url/static/css/normalize.css
.
相反,您想使用(注意前導(dǎo)斜線):
<link href="/static/css/normalize.css" rel="stylesheet">
- 1 回答
- 0 關(guān)注
- 110 瀏覽
添加回答
舉報
0/150
提交
取消