首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >容易-接受者忽略:document-root选项;不提供静态文件

容易-接受者忽略:document-root选项;不提供静态文件
EN

Stack Overflow用户
提问于 2017-08-11 06:13:45
回答 1查看 177关注 0票数 1

我正在尝试使用Hunchentoot从我的项目中的www目录中提供静态文件。我的接受者定义为:

代码语言:javascript
复制
(defvar *acceptor* (make-instance 'easy-acceptor
        :port 4242
        :document-root (truename "./www/")))

然后,我从以下内容开始:

代码语言:javascript
复制
(start *acceptor*)

接受器可以工作,因为我可以使用define-easy-handler创建根页面:

代码语言:javascript
复制
(define-easy-handler (index :uri "/") ()
  (with-html-output-to-string (_)
      (:html
       (:head
        (:title "Hello world")
       (:body
        (:h1 "Hello world!))))))

..。当我浏览到http://localhost:4242/时,我看到了那个页面。

但是我的www目录中没有提供静态文件。例如,如果我创建www/jquery-3.2.1.min.js并浏览到http://localhost:4242/jquery-3.2.1.min.js,我会收到404。

代码语言:javascript
复制
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")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-11 23:39:56

您必须确保目录和其中的文件设置了适当的权限。目录需要具有execute x权限才能允许服务器程序访问目录的内容,并且文件至少需要read r权限。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45624203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档