2
Snap을 사용하여 웹 사이트를 구축 중입니다. 존재하지 않는 모든 경로를 캡처하는 맞춤 404 처리기를 어떻게 지정합니까?Snap Web Framework의 사용자 정의 404
내가 기본 재정 싶습니다 : wrapSite
를 사용하여
Snap을 사용하여 웹 사이트를 구축 중입니다. 존재하지 않는 모든 경로를 캡처하는 맞춤 404 처리기를 어떻게 지정합니까?Snap Web Framework의 사용자 정의 404
내가 기본 재정 싶습니다 : wrapSite
를 사용하여
라우팅 동작을 수정하는 올바른 방법은
No handler accepted "/asdfasdf"
감사합니다 : 예제 코드에서
wrapSite (\site -> site <|> writeBS "Use your custom 404 handler")
, 당신을 기본 이니셜 라이저에이 줄을 추가 할 수 있습니다. 스냅 초기화 코드에서는 do
에서 app
기능에 있습니다.
""
은 지정된 경로와 일치합니다. 예 :
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
감사로
""
에 대한 핸들러를 변경할 수 있습니다. 기본 앱이 당신에게 [("", serveDirectory "/ static")]을 기본으로 제공하기 때문에 이것을 보는 것이 어렵습니다. –나는 스냅을 배우기 때문에 마음에있는 것을 시도했습니다! – MdxBhmt
일부 경우에는 작동하지만 [wrapSite] (http://hackage.haskell.org/package/snap-0.13.0.3/docs/Snap-Snaplet.html#v:wrapSite) 함수를 사용하면 더욱 강력합니다. 다른 스냅 숏에 의해 정의 된 경로를 포함하여 가능한 모든 경로를 래핑합니다. 이것은'wrapSite (\ site -> site <|> handle404)'와 같은 형태입니다. – mightybyte