我使用 nginx 作为 apache/mod_wsgi 和 Django 的反向代理。目前,使用 / 别名我的 wsgi 文件和 /media 别名我的媒体目录一切正常。但是,我想设置它,以便 /media/foo/bar也为我的 wsgi 文件加上别名,这样 /media/foo/example.txt 将使用 apache 提供 example.txt,但 /media/foo/bar/example.txt将传递给我在 Django 中的 urls.py。
我尝试将另一个 WSGIScriptAlias 添加到我的 /media/ 别名上方的 apache.conf 中,但 /media/foo/bar/example.txt 仍然由 apache 提供服务。我的 apache.conf 目前看起来像这样:
<VirtualHost *:8080>
#DocumentRoot /var/www/mydomain.com/public
ServerName mydomain.com
ErrorLog /var/www/mydomain.com/logs/apache_error_log
CustomLog /var/www/mydomain.com/logs/apache_access_log common
WSGIScriptAlias /media/foo/bar /var/www/mydomain.com/src/myproject/server/django.wsgi
Alias /media/ /var/www/mydomain.com/public/media/
<Directory /var/www/mydomain.com/public/media>
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias / /var/www/mydomain.com/src/myproject/server/django.wsgi
<Directory /var/www/mydomain.com/src/myproject/server>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>