使用相同的Apache实例来运行Django和Media文件
Django本身不用来服务media文件;应该把这项工作留给你选择的网络服务器。我们推荐使用一个单独的网络服务器(即没有运行Django的一个)来服务media。想了解更多信息,看下面的章节。
不过,如果你没有其他选择,所以只能在同Django一样的ApacheVirtualHost上服务media文件,这里你可以针对这个站点的特定部分关闭mod_python:
<Location"/media/"> SetHandlerNone </Location>
将Location改成你的media文件所处的根目录。
你也可以使用<LocationMatch>来匹配正则表达式。比如,下面的写法将Django定义到网站的根目录,并且显式地将media子目录以及任何以.jpg,.gif,或者.png结尾的URL屏蔽掉:
<Location"/"> SetHandlerpython-program PythonHandlerdjango.core.handlers.modpython SetEnvDJANGO_SETTINGS_MODULEmysite.settings </Location> <Location"/media/"> SetHandlerNone </Location> <LocationMatch"\.(jpg|gif|png)$"> SetHandlerNone </LocationMatch>
在所有这些例子中,你必须设置DocumentRoot,这样apache才能知道你存放静态文件的位