I saw this post by someone here but there are no answers: Redirecting https://www.domain.com to https://domain.com in Go
I tried to see if I could find a way to check if the request was made with a www url by checking the variables in *http.Request
variable but all I got was relative paths and empty strings ""
.
I tried to fmt.Println()
these variables:
func handleFunc(w http.ResponseWriter, r *http.Request) {
fmt.Println(r.URL.string())
fmt.Println(r.Host)
fmt.Println(r.RequestURI)
}
But none of these variables contained the absolute path with the www part. How can I check if a request was made from a www url? I want to figure this out so that I can redirect from www to non-www.
Is this really not even possible in Go? Some people suggested putting nginx in front of Go, but there has to be a way without nginx right? Do I really need to install and use nginx in front of Go just to do a simple redirect from www to non-www? This does not seem like a good solution to a seemingly small problem.
Is there no way to achieve this?