2013-10-11 3 views

답변

4

라우팅 동작을 수정하는 올바른 방법은

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

+0

감사로 ""에 대한 핸들러를 변경할 수 있습니다. 기본 앱이 당신에게 [("", serveDirectory "/ static")]을 기본으로 제공하기 때문에 이것을 보는 것이 어렵습니다. –

+0

나는 스냅을 배우기 때문에 마음에있는 것을 시도했습니다! – MdxBhmt

+1

일부 경우에는 작동하지만 [wrapSite] (http://hackage.haskell.org/package/snap-0.13.0.3/docs/Snap-Snaplet.html#v:wrapSite) 함수를 사용하면 더욱 강력합니다. 다른 스냅 숏에 의해 정의 된 경로를 포함하여 가능한 모든 경로를 래핑합니다. 이것은'wrapSite (\ site -> site <|> handle404)'와 같은 형태입니다. – mightybyte