首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Golang单页网站服务器

Golang单页网站服务器
EN

Stack Overflow用户
提问于 2016-12-07 08:23:36
回答 1查看 1.7K关注 0票数 0

我试图建立一些水疗/水疗与金和反应路由器作为后端,但我遇到了一个小问题。

react路由器似乎基于这样的想法:任何“坏”的请求(例如/ path /dynamicRessourceHash )都会向用户提供一个.html页面(上述html页面然后从服务器导入.js ),然后由路由器启动,分析路径,并向应用程序提供在后台进行获取请求所需的信息,并将资源传递给用户。

那么,使用std中的"net/http“来配置这样的服务器的标准方法是什么,也就是说,通常在预先配置的端点上配置服务器资源,但将所有其他端点作为通配符处理一个(或几个)路由?

举个例子(从今天起,我似乎不善于言谈)。假设用户在以下位置发出请求:

/route1 1/其他东西?.等等,不管在第二个"/“之后发生了什么,我是否希望/route1 1/的处理程序函数为用户提供服务(注意,我不希望用户被重定向,因为这会破坏URL,从而影响客户端路由)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-07 12:29:12

net/http中,您可以使用处理程序而不是服务于/路由来返回一个404页,因为所有未知/未注册的路由都与/匹配。

代码语言:javascript
复制
http.HandleFunc("/", handler)

...

func handler(w http.ResponseWriter, r *http.Request) {
    if r.URL.Path != "/" {
       w.WriteHeader(http.StatusNotFound)
       // Write custom 404 Page to w.Write()
        return
    }
    // Handling for route /
}

您还可以使用支持Not Found Handlers的不同的http复用器。

例如:

httprouter中设置httprouter.Router.NotFound

gorilla/mux中设置mix.Router.NotFoundHandler

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41012485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档