Приложение Django на собственном поддомене - PullRequest
3 голосов
/ 02 марта 2010

У меня следующая структура каталогов:

/ (index)
/blog/
/about/

При запуске только одного экземпляра Django, я хочу, чтобы URL отображался как blog.domain.com (для моего блогового приложения), но все остальные URL-адреса должны выполняться в (www.) Domain.com /.

Я, конечно, мог бы жестко закодировать ссылки, форсируя эту настройку (в основном веб-сервер будет прослушивать blog.domain.com и делать пересылку как domain.com/blog/, но пользователь по-прежнему будет видеть blog.domain.com), но хочу иметь возможность разрешать мои URL-конфигурации надлежащим образом, но все же заставить их указывать на domain.com или blog.domain.com в зависимости от решаемого URL (приложения).

Есть ли хороший способ сделать это? Я думал о пользовательском теге шаблона для использования вместо {% url my_resolve_name slug="test" as test %}.

Ответы [ 2 ]

1 голос
/ 02 марта 2010

Нет встроенной поддержки, но многие люди (включая меня) сделали это хакерским способом.

http://uswaretech.com/blog/2008/10/using-subdomains-with-django/
http://uswaretech.com/django-subdomains/

0 голосов
/ 02 марта 2010

попробуйте это на nginx:

server { 
    listen 80;
    server_name www.example.com;

    if ($host ~* "^blog\.example\.com") {
        rewrite  ^(.*)$ /blog$1 permanent;
        break;
    }
}

переписывает все запросы на blog.example.com/some/params/ на www.example.com/blog/some/params

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...