Найти - Пользователи
Полная версия: Django и субдомены
Начало » Django » Django и субдомены
1
tty
Подскажите как реализовать в Django такую штуковину как субдомены? Т.е. мне бы хотелось видеть что-то вроде такого sub.mysite.com
Александр Кошелев
А что вы хотите от субдомена?
Вообще-то это вопрос к вашему веб серверу, а не к джанге.
alafin
Есть статья на английском про это http://www.rossp.org/blog/2007/apr/28/using-subdomains-django/
tty
Вообщем нашел на сайте джанги такую вещь http://code.djangoproject.com/ticket/5022
скачал файл middleware.2.py
положил его в domain.apps.analytics попутно переименовав его в middleware.py
в settings.py прописал такую строку

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.middleware.doc.XViewMiddleware',
    'domain.apps.analytics.middleware.SubdomainURLsMiddleware'
)
DOMAINS_URLCONF = {
    'analytics' : 'domain.apps.analytics.urls',
}
теперь судя по всему все что находится в urls.py проекта analytics должно отображаться не так:
example.com/analytics
а так
analytics.example.com
Но увы так не происходит. Подскажите пожалуйста в чем может быть проблема?
Александр Кошелев
tty
теперь судя по всему все что находится в urls.py проекта analytics должно отображаться не так:
example.com/analytics
а так
analytics.example.com
это вы сами придумали?
Суть тикета не в этом.
Ferroman
А вот такое делали?
Ведь, перед использованием, нужно сервер правильно настроить.
The first thing that needs to be done is server configuration. Your domain name needs to have a wildcard entry setup (eg *.yourdomain.com), using Bind9 this is as easy as adding the following line to your domain name config. For other setups, speak to your web hosting provider.

* CNAME yourdomain.com.

Next, configure your web server software to answer requests for *.yourdomain.com the same way as www.yourdomain.com. I'm assuming that www.yourdomain.com already works, and that you're using Apache - again, YMMV so speak to your hosting provider. In Apache, just add the following line to your yourdomain.com virtual host configuration:

ServerAlias *.yourdomain.com

After restarting your DNS & web server software, you'll find that going to http://anything.yourdomain.com shows up the same result as http://www.yourdomain.com. Perfect.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB