2010-04-24 99 views
2

我知道这个问题已经有了一个问题(实际上还有更多),但是对他们的回答并没有太大的帮助,因为我对lighttpd非常陌生。用Django处理静态文件/ lighttpd

我有一个包含.pdf文件的文件夹。当对这些.pdf文件中的一个进行HttpResponseRedirect时,用户应该能够下载.pdf文件(或者在浏览器中查看它)。现在,Django只是重定向到我的“主页”html页面,没有显示任何pdf文件。

不知何故,我将不得不告诉lighttpd Django不应该再处理这个目录。 这是我需要做的唯一事情吗?如果是,我该怎么做?

回答

5

您是否在Django文档中看到过“lighttpd setup”?使用alias.url的url.rewrite一次你可以路由的应用程序的请求你或文件夹提供文件服务:

alias.url = (
    "/pdfs" => "/path/to/my/pdfs", 
) 

url.rewrite-once = (
    "^(/pdfs.*)$" => "$1", 
    "^(/.*)$" => "/mysite.fcgi$1", 
) 
+0

这是否也为“/ PDF文件”的子文件夹的工作? btw。,谢谢你的回答。 当我进入“/ path/to/my/pdfs”(当然还有其他路径),django返回“目录索引不允许在这里”,所以它似乎仍在处理它。 – ptikobj 2010-04-24 07:35:03

+0

你使用什么URL? 127.0.0.1:8000/pdfs/file1.pdf或类似的东西。你确定,“目录索引不允许在这里”。消息不是来自lighttpd?也许你需要启用目录列表与mod_dirlisting(http://redmine.lighttpd.net/wiki/1/Docs:ModDirlisting) – 2010-04-24 08:11:10

+0

错误是一个完全不同的,我错过了在HttpResponseRedirect参数的斜线... – ptikobj 2010-04-26 17:06:30