英文:
How to redirect *.appspot.com to custom domain
问题
你可以通过以下步骤将*.appspot.com域名重定向到自定义域名:
-
在你的自定义域名提供商处设置域名解析,将app-id.appspot.com和www.mycustomdomain.com指向你的服务器IP地址。
-
在你的服务器上,使用Go和Gorilla Mux创建一个路由处理器来处理重定向请求。你可以使用
gorilla/mux
包中的NewRouter
函数创建一个新的路由器。 -
在路由器上注册一个处理器函数,用于处理重定向请求。你可以使用
HandleFunc
方法将请求路径和处理函数绑定起来。 -
在处理函数中,使用
http.Redirect
函数将请求重定向到目标URL。你可以将app-id.appspot.com
重定向到mycustomdomain.com
,将www.mycustomdomain.com
重定向到mycustomdomain.com
。 -
启动你的服务器,监听指定的端口。
这样,当用户访问app-id.appspot.com
或www.mycustomdomain.com
时,请求将被重定向到mycustomdomain.com
。请确保你的服务器已正确配置,并且你的自定义域名已经生效。
英文:
How do you redirect your *.appspot.com domain to your custom domain. What I want is redirect the domains like this:
app-id.appspot.com -> mycustomdomain.com
www.mycustomdomain.com -> mycustomdomain.com
Note: I am using go and gorilla mux.
答案1
得分: 3
你可以按照这里描述的方式,使用http.Handler
组合来重用代码。
在你的情况下,组合器可能如下所示(根据你的喜好和要求进行调整):
func NewCanonicalDomainHandler(next http.HandlerFunc) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
if r.Host != "myapp.com" {
u := *r.URL
u.Host = "myapp.com"
u.Scheme = "http"
http.Redirect(w, r, u.String(), http.StatusMovedPermanently)
return
}
next(w, r)
}
}
然后,你可以使用它来包装你的处理程序:
http.Handle("/foo", NewCanonicalDomainHandler(someHandler))
英文:
You can do http.Handler
combinatorics as described here to reuse code.
In your case the combinator would look something like this (tweak it to your taste and requirements):
func NewCanonicalDomainHandler(next http.HandlerFunc) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
if r.Host != "myapp.com" {
u := *r.URL
u.Host = "myapp.com"
u.Scheme = "http"
http.Redirect(w, r, u.String(), http.StatusMovedPermanently)
return
}
next(w, r)
}
}
The you can wrap your handlers with that:
http.Handle("/foo", NewCanonicalDomainHandler(someHandler))
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论