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?
HostHTTP header in the request?wwwsubdomain isn't part of the path, it will be part of the host field. Please show an example of what you're seeing, since it should be present in theRequest.HostorRequest.URL.