配置Apache以覆盖WSGI
问题描述:
我有一个由Apache2提供服务的基于Django的站点。我的虚拟主机已配置好,以便我的域(称为example.com)为我的wsgi应用程序提供服务。配置Apache以覆盖WSGI
我还想使用Apache在example.com/blog上提供Wordpress站点。我如何使用Apache在/博客上使用Wordpress网站?目前,我的请求被Django捕获,因为/ blog不在我的Django URL中,所以我得到了404。
答
Django文档(https://docs.djangoproject.com/en/1.9/howto/deployment/wsgi/modwsgi/)他们给这个例子:
Alias /media/ /path/to/mysite.com/media/
Alias /static/ /path/to/mysite.com/static/
<Directory /path/to/mysite.com/static>
Require all granted
</Directory>
<Directory /path/to/mysite.com/media>
Require all granted
</Directory>
WSGIScriptAlias//path/to/mysite.com/mysite/wsgi.py
<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
这是静态文件,但会工作也为你的博客。
答
在Apache的conf这些行添加到您的虚拟主机:
Alias /blog /var/www/example.com/blog/
<Directory /var/www/example.com/blog>
Require all granted
</Directory>
答
你的问题是,你不认识的博客引用,直到你在Django的URL路由器。尽管您可以通过URL规则+视图进行重定向,但最简单的方法是创建一个新的子域,例如, blog.mydomain.com,并配置Apache来处理其他站点。我为我所有的Django网站都这样做,并且工作正常。
这是正确的答案。你能否包括你的别名/静态和/媒体,以便更清楚一点? – grez