使用mod_wsgi在django中渲染媒体文件时出现问题

时间:2013-10-09 19:22:40

标签: django apache django-templates mod-wsgi

我刚刚在我的网站上遇到了一个独特的错误,我使用mod_wsgi在apache webserver中部署了该错误。以下是我的apache conf文件,

1 WSGIScriptAlias / /var/www/mysite/apache/django.wsgi
2
3 AliasMatch /([^/]*\.png) /var/www/mysite/media/photos/$1
4 AliasMatch /([^/]*\.gif) /var/www/mysite/media/photos/$1
5
6 AliasMatch /([^/]*\.gif) /var/www/mysite/media/admin/image/$1
7
8 <Directory /var/www/mysite/media>
9 Order deny,allow
10 Allow from all
11 </Directory>
12
13
14 <Directory /var/www/mysite/apache>
15 Order allow,deny
16 Allow from all
17 </Directory>

所有图像和文件都完美呈现/ media / admin / images中的.gif文件。您可以在第4行注意到,我已经指定了正确显示的.gif文件。

如果我将第6行放在第4行之上,第4行将停止工作,第6行将正常工作。为什么会这样?除了将这些文件放到一个目录中之外,还有什么办法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

我认为没有。您要查看每个/var/www/mysite/media/photos/文件的.gif。如果它不存在,它将失败。它不会去第二个位置看。您需要组合文件夹,或者为其中一个文件夹设置不同的URL。例如:

AliasMatch /admin/([^/]*\.gif) /var/www/mysite/media/admin/image/$1