помощь в настройке нескольких сайтов Django под одним поддоменом - PullRequest
1 голос
/ 21 июля 2011

Под одним и тем же поддоменом мне нужно настроить несколько независимых сайтов, на каждом из которых работает django, эти сайты полностью разделены.Каждый сайт должен находиться в своем собственном подкаталоге, и эти подкаталоги должны быть защищены паролем.

, например: subdomain.example.com/site1 subdomain.example.com/site2 Я использую apache2 и у меня есть запись виртуального сервера для субдомена.django запускается с использованием FastCGI.

в принципе, я не знаю, как это настроить.Что я добавлю в мою запись для субдомена?Обычно для одного сайта django под поддоменом я бы помещал WSGIScriptAlias, указывающий на скрипт python, который должен быть выполнен, но что мне делать для нескольких сайтов?пожалуйста помогите спасибо константин

Ответы [ 2 ]

0 голосов
/ 22 июля 2011

вот моя конфигурация: <VirtualHost *:12665> ServerName subdomain.example.com DocumentRoot /path WSGIScriptAliasMatch ^/([^/]+) /sites/$1/httpd/django.wsgi <DirectoryMatch ^/sites/[^/]+/httpd> Order deny,allow Allow from all </DirectoryMatch> </VirtualHost>

0 голосов
/ 21 июля 2011

Это не отдельные виртуальные хосты.

Это отдельные «местоположения» (или «каталоги») внутри виртуального хоста.

Вы сделаете что-то вроде следующего.

  ServerName example.com
  DocumentRoot /opt/app/site1/public_html
  Alias /media/site1 /opt/app/site1/media
  DocumentRoot /opt/app/site2/public_html
  Alias /media/site2 /opt/app/site2/media

  RewriteEngine On
  RewriteRule ^/(media/site1.*)$ /$1 [QSA,L,PT]
  RewriteRule ^/(media/site2.*)$ /$1 [QSA,L,PT]

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^/site1(.*)$ /mysite1.fcgi/$1 [QSA,L]
  RewriteRule ^/site1(.*)$ /mysite2.fcgi/$1 [QSA,L]

[Это не проверено, так как для этого мы используем mod_wsgi.]

...