我在这里看到了这个帖子,但是没有答案:Redirecting https://www.domain.com to https://domain.com in Go
我试图通过检查 *http.Request
变量中的变量来查看是否可以找到检查请求是否通过www url进行的方法,但我得到的只是相对路径和空字符串 ""
.
我试着 fmt.Println()
这些变量:
func handleFunc(w http.ResponseWriter, r *http.Request) {
fmt.Println(r.URL.string())
fmt.Println(r.Host)
fmt.Println(r.RequestURI)
}
但这些变量都不包含www部分的绝对路径 . 如何检查请求是否来自www网址?我想弄清楚这一点,以便我可以从www重定向到非www .
在Go中,这真的不可能吗?有些人建议将nginx放在Go前面,但是必须有一种没有nginx的方法吗?我是否真的需要在Go前安装和使用nginx只是为了从www到非www进行简单的重定向?对于一个看似很小的问题,这似乎不是一个好的解决方案 .
有没有办法实现这个目标?
1 回答
使用重定向器包装处理程序:
像这样使用重定向器: