每当从localhost:9000 /发出请求时,我都希望将用户重定向到localhost:9000 /#/ trade / gem / GEM。我遇到的问题是,我得到了无限重定向,因为在每个URL之前都加上了“ /”。如何使用户仅在访问localhost:9000 /的确切网址时才被重定向?我的代码如下:
toTypedArray()
答案 0 :(得分:0)
注册/
后,所有url都将重定向到此地址,直到未注册其他模式。要解决此问题并仅处理特定模式,您可以编写自定义处理程序,并可以在其中实现逻辑每当打开localhost:9000/
时,重定向到特定的URL。
package main
import (
"fmt"
"net/http"
)
type Handler struct{}
var NewUrl string = "/trade/gem/GEM"
func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
uri := r.URL.Path
if uri == "/" {
http.Redirect(w, r, NewUrl, http.StatusSeeOther)
}
fmt.Fprintf(w, uri)
return
}
func main() {
handler := new(Handler)
http.ListenAndServe(":9000", handler)
}
有关更多详细信息,请检查http.handler
注意: 您不能在uri中使用#
。