2013-10-08 7 views
0

노아를 사용합니다.URL에 끝 슬래시가 있거나없는 페이지를 어떻게 보이게합니까?

갖는

(defpage "/welcome" [] "Welcome to Noir!") 

나는이 두 URL 작동 내가 어떻게해야합니까 :

http://localhost:8080/welcome 
http://localhost:8080/welcome/ 

감사합니다!

편집 : 다음은 답변입니다.

server.clj에서 (:use [ring.util.response :only [redirect]])

그런 다음 쓰기까지 추가 :

(defn wrap-slash 
    "" 
    [handler] 
    (fn [{:keys [uri] :as req}] 
    (if (and (.endsWith uri "/") (not= uri "/")) 
     (handler (assoc req :uri (.substring uri 
           0 (dec (count uri))))) 
     (handler req)))) 

(server/add-middleware wrap-slash) 

답변

1

노아의 라우팅은 일부 다른 사람보다 더 엄격한, 그래서 다른 제목을 가진 동안 요청되는, this question에서 살펴 같은 것.

+0

당신의 대답은 Thnaks입니다. 다른 질문은 리디렉션에 대한 이야기입니다. .../welcome /을 입력하면 브라우저에서 URL이 .../welcome로 변경되는 것을 원하지 않습니다. URL을 모두 사용하고 동일한 콘텐츠를 가리 키기 만하면됩니다. 다른 질문에 대한 대답이 이것을지지합니까? – leontalbot

+0

완벽하게 작동하는 것으로 보입니다! 매우 감사합니다. 나는 내 질문에 다른 질문의 답을 취하고 그것을 사용하는 방법에 대한 문맥을 추가한다.'(server/add-middleware wrap-slash)'. 이것은 다른 대답이 부족하거나, 적어도 명백하지 않았습니다 ... – leontalbot