gddo-server: redirect /-/subrepo to pkg.go.dev/search?q=golang.org/x

Request to /-/subrepo are not redirected to
pkg.go.dev/search?q=golang.org/x instead of pkg.go.dev.

Change-Id: I582271b112a0ce482bedfd822523cf7e4dbc9059
Reviewed-on: https://go-review.googlesource.com/c/gddo/+/274697
Trust: Julie Qiu <julie@golang.org>
Run-TryBot: Julie Qiu <julie@golang.org>
Reviewed-by: Jonathan Amsterdam <jba@google.com>
diff --git a/gddo-server/assets/templates/subrepo.html b/gddo-server/assets/templates/subrepo.html
index 1f1bc4f..e63f70a 100644
--- a/gddo-server/assets/templates/subrepo.html
+++ b/gddo-server/assets/templates/subrepo.html
@@ -1,5 +1,9 @@
 {{define "Head"}}<title>Go Sub-Repository Packages - GoDoc</title><meta name="robots" content="NOINDEX">{{end}}
 
+{{define "PkgGoDevLink"}}
+  <a href="https://pkg.go.dev/search?q=golang.org/x">pkg.go.dev/search?q=golang.org/x</a>
+{{end}}
+
 {{define "Body"}}
   <h1>Go Sub-repository Packages</h1>
   These packages are part of the Go Project but outside the main Go tree. They are developed under looser compatibility requirements than the Go core.
diff --git a/gddo-server/pkgsite.go b/gddo-server/pkgsite.go
index d5ead96..f7bb697 100644
--- a/gddo-server/pkgsite.go
+++ b/gddo-server/pkgsite.go
@@ -143,6 +143,9 @@
 		} else {
 			u.Path = "/"
 		}
+	case "/-/subrepo":
+		u.Path = "/search"
+		q.Set("q", "golang.org/x")
 	default:
 		{
 			u.Path = godocURL.Path
diff --git a/gddo-server/pkgsite_test.go b/gddo-server/pkgsite_test.go
index ba2394d..29ea55a 100644
--- a/gddo-server/pkgsite_test.go
+++ b/gddo-server/pkgsite_test.go
@@ -112,6 +112,10 @@
 			to:   "https://pkg.go.dev/std?tab=packages&utm_source=godoc",
 		},
 		{
+			from: "https://godoc.org/-/subrepo",
+			to:   "https://pkg.go.dev/search?q=golang.org/x&utm_source=godoc",
+		},
+		{
 			from: "https://godoc.org/?q=foo",
 			to:   "https://pkg.go.dev/search?q=foo&utm_source=godoc",
 		},