Указание субдомена на конкретный URL в Django - PullRequest
2 голосов
/ 13 апреля 2011

У меня есть сайт Django, работающий над mod_wsgi и Apache.(например, example.com) Я создал поддомен (например, info.example.com) и хочу указать его для приложения в существующем проекте.Возможно ли, что у меня есть один файл urls.py, а example.com/info и info.example.com указывают на одно и то же представление в проекте Django (без дублирования всего проекта в другом каталоге)?

Если так, как я могу это сделать?В настоящее время конфигурация virtalhost example.com для существующего проекта выглядит следующим образом:

<VirtualHost 12.34.56.78:80>
   ServerName example.com
   ServerAlias www.example.com

   DocumentRoot /srv/www/Example/Pub_html

   WSGIScriptAlias / /srv/www/Example/example.wsgi
   <Directory /srv/www/Example/Example>
      Order allow,deny
      Allow from all
   </Directory>

   Alias /robots.txt /srv/www/Example/robots.txt
   Alias /favicon.ico /srv/www/Example/favicon.ico
   ....
</VirtualHost>

Заранее спасибо!

ОБНОВЛЕНИЕ : я быстро исправил это, создавдругой проект Django, который разделяет таблицы базы данных и папку шаблонов с существующей.Это работает, но на самом деле не СУХОЙ:)

1 Ответ

1 голос
/ 13 апреля 2011

Я бы сделал это с обратным прокси, я думаю. Если у вас есть mod_proxy и mod_proxy_html, попробуйте что-то вроде этого:

<VirtualHost 12.34.56.78:80>
    ServerName info.example.com

    ProxyPass       /  http://example.com/info

    SetOutputFilter proxy-html
    <Location />
        ProxyPassReverse /info/
        ProxyHTMLURLMap /info/ /
    </Location>
    ProxyHTMLURLMap http://example.com/info /
</VirtualHost>

детали могут быть не совсем правильными, поэтому дайте мне знать, если вы не можете заставить его работать.

...