如何在 Compojure/Luminus 应用程序中重定向 301 http?
How can I do redirect 301 http in a Compojure/Luminus app?
我在 Compojure/Luminus 应用中有一个动作:
(defn my-page1 [id]
(layout/render "my_page.html"
(let
[item (db/get-single-item {:id id})]
; this throws an exception
; if .....
; redirect "fdsfdsfd" :status 301
{ :my-item item})))
如何检查某些条件,如果条件为真,则重定向到 http 状态为 301 的新 url?
我应该在哪里输入我的代码以及如何进行重定向?
您的 layout/render
函数 return 是一个包含 HTML 正文内容的完整 HTTP 200 响铃响应。您需要 return 重定向响应,而不是 layout/render
函数生成的响应:
(defn my-page1 [id]
(if (some-condition)
(layout/render ...)
(ring.util.response/redirect "http://elsewhere.com/" 301)))
我在 Compojure/Luminus 应用中有一个动作:
(defn my-page1 [id]
(layout/render "my_page.html"
(let
[item (db/get-single-item {:id id})]
; this throws an exception
; if .....
; redirect "fdsfdsfd" :status 301
{ :my-item item})))
如何检查某些条件,如果条件为真,则重定向到 http 状态为 301 的新 url? 我应该在哪里输入我的代码以及如何进行重定向?
您的 layout/render
函数 return 是一个包含 HTML 正文内容的完整 HTTP 200 响铃响应。您需要 return 重定向响应,而不是 layout/render
函数生成的响应:
(defn my-page1 [id]
(if (some-condition)
(layout/render ...)
(ring.util.response/redirect "http://elsewhere.com/" 301)))