2013-10-08 93 views
0

我使用黑色。如何在url中顯示帶有或不帶結束斜線的頁面?

有:

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

我做我做這兩個網址的工作原理:

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

相關問題