配置Apache以覆盖WSGI

时间:2016-06-07 19:11:11

标签: django wordpress apache mod-wsgi

我有一个基于Django的站点,由Apache2提供服务。我的虚拟主机配置为我的域(称为example.com)为我的wsgi应用程序服务。

我还希望使用Apache在example.com/blog上提供Wordpress站点。我将如何使用Apache在/ blog上提供Wordpress网站?目前,我的请求被Django捕获,因为/博客不在我的Django网址中,我得到了404。

3 个答案:

答案 0 :(得分:2)

在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>

这适用于静态文件,但也适用于您的博客。

答案 1 :(得分:0)

在Apache conf中将这些行添加到VirtualHost:

Alias /blog /var/www/example.com/blog/
<Directory /var/www/example.com/blog>
Require all granted
</Directory>

答案 2 :(得分:0)

您的问题是,在您进入Django URL路由器之前,您不会识别博客引用。虽然您可以执行网址规则+视图来执行重定向,但最简单的方法是创建一个新的子域,例如blog.mydomain.com,并配置Apache来处理其他站点。我为所有Django网站都这样做,它运行正常。