2

我正在用 Snap 建立一个网站。如何指定自定义 404 处理程序来捕获所有不存在的路由?

我想重新定义默认值:

No handler accepted "/asdfasdf"

谢谢

4

1 回答 1

4

修改路由行为的正确方法是使用wrapSite

wrapSite (\site -> site <|> writeBS "Use your custom 404 handler" )

在示例代码中,您可以在基本 Initializer 中添加这一行。在 Snap Init 代码中,它将位于dofromapp函数中。


"" 将匹配给定的任何路线。例子:

routes = [ ("/login",    with auth handleLoginSubmit)
         , ("/logout",   with auth handleLogout)
         , ("/new_user", with auth handleNewUser)
         , ("/static", serveDirectory "static")
         , ("",        writeBS "This if none of the others" )
         ]

您可以将处理程序更改为""您的自定义 404。

于 2013-10-11T02:37:02.213 回答