internal/play: fix share registration guard for golang.google.cn

CL 366056 added support for multiple play backends, but did not update
the pattern matching for golang.google.cn accordingly.

Change-Id: Ie992f86bb6879bb283db5a23870602ea1266d9ab
Reviewed-on: https://go-review.googlesource.com/c/website/+/556095
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Robert Findley <rfindley@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
diff --git a/cmd/golangorg/testdata/godev.txt b/cmd/golangorg/testdata/godev.txt
index 0cf694e..9d0ce4d 100644
--- a/cmd/golangorg/testdata/godev.txt
+++ b/cmd/golangorg/testdata/godev.txt
@@ -49,6 +49,12 @@
 body !contains The Go Playground
 body !contains About the Playground
 
+POST https://golang.google.cn/_/share
+code == 404
+
+GET https://golang.google.cn/_/share?id=asdfasdf
+code == 404
+
 GET https://golang.google.cn/play/p/asdfasdf.go
 code == 500
 body contains Sorry, but shared playground snippets are not visible in China.
diff --git a/internal/play/proxy.go b/internal/play/proxy.go
index f896ef9..1b3e24d 100644
--- a/internal/play/proxy.go
+++ b/internal/play/proxy.go
@@ -46,12 +46,12 @@
 func RegisterHandlers(mux *http.ServeMux, godevSite, chinaSite *web.Site) {
 	mux.Handle("/play/", playHandler(godevSite))
 	mux.Handle("golang.google.cn/play/", playHandler(chinaSite))
-	for _, host := range []string{"golang.org", "go.dev/_", "golang.google.cn/_"} {
-		mux.HandleFunc(host+"/compile", compile)
-		if host != "golang.google.cn" {
-			mux.HandleFunc(host+"/share", share)
+	for _, pattern := range []string{"golang.org", "go.dev/_", "golang.google.cn/_"} {
+		mux.HandleFunc(pattern+"/compile", compile)
+		if pattern != "golang.google.cn/_" {
+			mux.HandleFunc(pattern+"/share", share)
 		}
-		mux.HandleFunc(host+"/fmt", fmtHandler)
+		mux.HandleFunc(pattern+"/fmt", fmtHandler)
 	}
 }