当我使用多个参数时,Compojure不提供CSS

时间:2014-11-09 18:13:37

标签: clojure compojure enlive

我正在尝试使用Compojure模仿Wordpress固定链接,但为什么在使用多个参数时找不到所有静态文件(css,js和img)?这是我的代码。

(defroutes approutes
  (GET "/" [] (posts-for-home))
  (GET "/:year/:month/:title" [year month title :as {uri :uri}] (single/tpl-single uri))
  (route/resources "/")
  (route/not-found "<h1>Page not found</h1>"))

(def app
  (handler/site approutes))

我在浏览器调试控制台中看到css是从http://localhost:3000/2014/11/test/css/main.css而不是http://localhost:3000/css/main.css提供的。然后我添加了一个测试路线,只使用了这样的参数:

(GET "/:testparameter" [testparameter] (single/tpl-single testparameter))

那条路线运转良好。当我访问http://localhost:3000/justfortest时,所有静态文件都是从根路径提供的。我该怎么做才能解决这个多参数问题?提前感谢您的回答。

1 个答案:

答案 0 :(得分:2)

最后,我将<link rel="stylesheet" href="css/main.css">替换为<link rel="stylesheet" href="/css/main.css">后解决了这个问题。多么微不足道的问题,我一天都没有注意到它。哈哈如此尴尬。