Common lisp 易接受忽略:文档根选项;不提供静态文件
我正在尝试使用Hunchentoot从我的项目中的Common lisp 易接受忽略:文档根选项;不提供静态文件,common-lisp,hunchentoot,Common Lisp,Hunchentoot,我正在尝试使用Hunchentoot从我的项目中的www目录提供静态文件。我的承兑人定义为: (defvar *acceptor* (make-instance 'easy-acceptor :port 4242 :document-root (truename "./www/"))) 然后我从以下几点开始: (start *acceptor*) acceptor可以工作,因为我可以使用定义easy handler创建根页面: (define-easy-han
www
目录提供静态文件。我的承兑人定义为:
(defvar *acceptor* (make-instance 'easy-acceptor
:port 4242
:document-root (truename "./www/")))
然后我从以下几点开始:
(start *acceptor*)
acceptor可以工作,因为我可以使用定义easy handler
创建根页面:
(define-easy-handler (index :uri "/") ()
(with-html-output-to-string (_)
(:html
(:head
(:title "Hello world")
(:body
(:h1 "Hello world!))))))
。。。当我浏览到我看到的页面
但是我的www
目录中没有提供静态文件。例如,如果我创建www/jquery-3.2.1.min.js
并浏览到我收到的404
127.0.0.1 - [2017-08-11 08:08:02] "GET /jquery-3.2.1.min.js HTTP/1.1" 404 355 "-" "Mozilla/5.0 (X11; FreeBSD amd64; rv:54.0) Gecko/20100101 Firefox/54.0"
HELLOWORLD> (directory (make-pathname :directory '(:relative "www") :name :wild :type "js"))
(#P"/usr/home/duncan/code/helloworld/www/jquery-3.2.1.min.js")
您必须确保目录及其中的文件设置了正确的权限。目录需要有execute
x
权限才能允许服务器程序访问目录的内容,文件至少需要readr
权限。我似乎无法重现这个问题(除非我从www目录中删除权限)。@jkiiski-Hah<代码>chmod-R 775 www修复了它。谢谢:)(很高兴投票并接受你的建议,如果你给出答案的话)。