我在同一台服务器上运行了一打左右的Django站点,这里是我配置媒体URL的方式。
每个虚拟主机具有以下配置:
Alias /media /path/to/media/
<Directory /path/to/media>
Include /etc/apache2/vhosts.d/media.include
</Directory>
这样我可以让媒体在一个文件中处理任何变化。
然后,我media.include文件看起来像这样:
Order allow,deny
Allow from all
SetHandler None
FileETag none
Options FollowSymLinks
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 30 days"
ExpiresByType image/jpg "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType text/css "access plus 30 days"
ExpiresByType application/x-javascript "modification plus 2 years"
</IfModule>
<IfModule mod_headers.c>
Header append Vary Accept-Encoding
</IfModule>
AddOutputFilterByType DEFLATE text/html text/css text/plain
这工作对我非常好,并得到一个一个从YSlow等级(见Jeff Atwood on YSlow)。
还要注意,对于根目录,我使用以下配置:
WSGIScriptAlias//path/to/app.wsgi
<Directory /path/to>
Options +ExecCGI
Allow from all
</Directory>
...在配置文件中的别名/媒体(后应因为Apache着眼于以别名)
Graham Dumpleton!感谢mod_wsgi!其实我认为订单原来是问题,我没有使用cgi指令。你的模块使我能够做很多事情,自从问这个问题后,我确实开发了一个mod_wsgi习惯。 – unmounted 2009-06-25 00:01:07