2016-06-07 4 views
0

У меня есть сайт на основе Django, обслуживаемый Apache2. Мой виртуальный хост настроен так, что мой домен (назовите его example.com) служит для моего приложения wsgi.Настройка Apache для переопределения WSGI

Я также хотел бы обслуживать сайт Wordpress в example.com/blog с помощью Apache. Как я могу обслуживать сайт Wordpress в/блоге с помощью Apache? В настоящее время мой запрос попадает в Django, и я получаю 404, так как/blog не входит в мои URL-адреса Django.

ответ

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> 

Это для статических файлов, но будет работать для вашего блога тоже.

+0

Это правильный ответ. Не могли бы вы включить строки, в которых вы используете псевдоним/статические и/медиа, чтобы это было немного более ясно? – grez

0

В вашем Apache конф добавить эти строки в VirtualHost:

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

Ваша проблема в том, что вы не узнаете ссылку на блог, пока не находитесь в маршрутизаторе Django URL. Хотя вы можете сделать URL-правило + представление для перенаправления, самый простой способ сделать это - создать новый поддомен, например. blog.mydomain.com и настроить Apache для обработки дополнительного сайта. Я делаю это для всех своих сайтов Django, и он отлично работает.

Смежные вопросы