cmd/golangorg: disable China detection on go.dev

Go.dev has never had golang.org's China detection
(which is there for historical reasons),
so we don't need to start now.

This fixes a problem with go.dev/blog redirecting to
golang.google.cn for users who are not actually in China.

Fixes golang/go#47846.

Change-Id: Ie1545c46aa881fd0ff3bccecf03002659a397c73
Reviewed-on: https://go-review.googlesource.com/c/website/+/344010
Trust: Russ Cox <rsc@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Julie Qiu <julie@golang.org>
Website-Publish: Russ Cox <rsc@golang.org>
diff --git a/cmd/golangorg/server.go b/cmd/golangorg/server.go
index 368d7f1..8a7d17a 100644
--- a/cmd/golangorg/server.go
+++ b/cmd/golangorg/server.go
@@ -377,14 +377,15 @@
 }
 
 // hostEnforcerHandler redirects http://foo.golang.org/bar to https://golang.org/bar.
-// It also forces all requests coming from China to use golang.google.cn.
+// It also forces all requests coming from China for golang.org to use golang.google.cn.
 func hostEnforcerHandler(h http.Handler) http.Handler {
 	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
 		isHTTPS := r.TLS != nil || r.Header.Get("X-Forwarded-Proto") == "https" || r.URL.Scheme == "https"
 		defaultHost := "golang.org"
-		isValidHost := validHosts[strings.ToLower(r.Host)]
+		host := strings.ToLower(r.Host)
+		isValidHost := validHosts[host]
 
-		if googleCN(r) {
+		if googleCN(r) && strings.HasSuffix(host, "golang.org") {
 			// golang.google.cn is the only web site in China.
 			defaultHost = "golang.google.cn"
 			isValidHost = strings.ToLower(r.Host) == defaultHost
diff --git a/cmd/golangorg/testdata/blog.txt b/cmd/golangorg/testdata/blog.txt
index 4c7afc2..496cffe 100644
--- a/cmd/golangorg/testdata/blog.txt
+++ b/cmd/golangorg/testdata/blog.txt
@@ -51,3 +51,10 @@
 
 GET https://go.dev/blog/go1.16
 body contains Go 1.16
+
+GET https://blog.golang.org/?googlecn=1
+redirect == https://golang.google.cn/?googlecn=1
+
+# Do not China-redirect go.dev links, because they will break.
+GET https://go.dev/blog/?googlecn=1
+body contains The Go Blog