提供静态文件 (诸如js脚本, css样式表和图象文件)

问题

如何在web.py自带的web server中提供静态文件访问?

解法

web.py 服务器

在当前应用的目录下,创建一个名为static的目录,把要提供访问的静态文件放在里面即可。

例如, 网址 http://localhost/static/logo.png 将发送 ./static/logo.png 给客户端。

Apache

在 Apache 中可以使用 Alias 指令,在处理 web.py 之前将请求映射到指定的目录。

这是一个在 Unix like 系统上虚拟主机配置的例子:

  1. <VirtualHost *:80>
  2. ServerName example.com:80
  3. DocumentRoot /doc/root/
  4. # mounts your application if mod_wsgi is being used
  5. WSGIScriptAlias / /script/root/code.py
  6. # the Alias directive
  7. Alias /static /doc/root/static
  8. <Directory />
  9. Order Allow,Deny
  10. Allow From All
  11. Options -Indexes
  12. </Directory>
  13. # because Alias can be used to reference resources outside docroot, you
  14. # must reference the directory with an absolute path
  15. <Directory /doc/root/static>
  16. # directives to effect the static directory
  17. Options +Indexes
  18. </Directory>
  19. </VirtualHost>