如何从golang中的确切网址重定向?

时间:2018-08-24 00:04:16

标签: url redirect go webserver

每当从localhost:9000 /发出请求时,我都希望将用户重定向到localhost:9000 /#/ trade / gem / GEM。我遇到的问题是,我得到了无限重定向,因为在每个URL之前都加上了“ /”。如何使用户仅在访问localhost:9000 /的确切网址时才被重定向?我的代码如下:

toTypedArray()

1 个答案:

答案 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中使用#