(这是在Windows文件系统上)
假设我有以下htdocs dir结构:
c:\abc\htdocs
index.html
picture.jpg
\js
somescript.js
我的index.html看起来像这样:
<html>
<head>
<title>Apache vs Cherrypy Test</title>
<script type="text/javascript" src="/js/somescript.js"></script>
</head>
<body>
<img src='/picture.jpg' />
</body>
</html>
使用Apache的,我只是点我的httpd.conf的DocumentRoot到c:\ ABC \ htdocs目录和我的index.html可以没有特殊CONFIGS访问/picture.jpg和/js/somescript.js
。
换句话说,我的HTML可以引用没有自定义服务器配置的相对URL。
现在切换到樱桃树 我能够为我的index.html提供服务,但是在.jpg和.js文件上获得404 是否有某种方式导致的CherryPy简单地满足了的所有的htdocs目录相对请求的文件(如/picture.jpg和/或/js/somescript.js),而无需为每个文件创建明确的配置项和/或htdocs subdir?
我原本希望能够像这样创建一个简单的配置:
[/]
tools.staticfile.root = "c:\abc\htdocs"
然后,这将允许访问/picture.jpg和/js/somescript.js,但不工作。
是否有一种简单的方法来指示cherrypy提供“通配符”相对URL,而不需要在配置中提供特定于文件的条目?
答案 0 :(得分:0)
staticfile一次用于单个文件。请尝试使用staticdir。有关可以采用的配置参数,请参阅http://docs.cherrypy.org/dev/refman/lib/static.html#cherrypy.lib.static.staticdir。我强烈建议您在浏览时设置“tools.staticdir.debug = True”。有关使用它的一些散文,另请参阅http://docs.cherrypy.org/dev/progguide/files/static.html#serving-files-through-the-staticdir-tool。