我将帮助使用Clojure的Noir框架来建立一个网站,虽然我在Django/Python方面有很多经验。在Django中,我习惯于像这样的URL:
http://site/some/url
自动地进行302重定向到
http://site/some/url/
Noir更挑剔,不会这样做。
自动完成这个操作的正确方法是什么?由于好的URL是到达网站的重要途径,而且许多用户会忘记尾部斜杠,因此我想将此基本功能添加到我的网站。
编辑:这是最终基于@IvanKoblik建议为我工作的内容:
(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))))