Как я могу иметь приложение Django в моем основном домене и приложение PHP на поддомене? - PullRequest
4 голосов
/ 20 июня 2011

У меня есть приложение Django, размещенное в моем основном домене ( example.com ), и теперь мне нужно разместить приложение PHP на поддомене ( forum.example.com ).

В каталоге основного домена у меня есть следующие .htaccess записи:

SetHandler mod_python
PythonPath "/home/.../apps/example'] + sys.path"
PythonOption mod_python.importer.path "['/home/vlive/python']+ sys.path"
PythonHandler django.core.handlers.modpython

#PythonDebug On
SetEnv DJANGO_SETTINGS_MODULE example.settings
SetEnv PYTHON_EGG_CACHE /tmp/egg-cache

В настоящее время, когда я загружаю поддомен ( forum.example.com) Я по-прежнему вижу основной сайт ( example.com ).

Как я могу это исправить?

Ответы [ 3 ]

1 голос
/ 20 июня 2011

Наиболее распространенной причиной неправильного выбора VirtualHost является отсутствующая директива NameVirtualHost, которая соответствует квалификатору хоста / порта, указанному в директиве VirtualHost.

Какую директиву NameVirtualHost вы установили? Каков аргумент для двух конфигураций VirtualHost?

Общая схема будет:

NameVirtualHost *:80

<VirtualHost *:80>
ServerName example.com
...
</VirtualHost>

<VirtualHost *:80>
ServerName forum.example.com
...
</VirtualHost>

Обычно они находятся в одном и том же файле для дистрибутива Linux Apache.

Что ты использовал?

1 голос
/ 20 июня 2011

Вам необходимо настроить субдомены с помощью директивы VirtualHost и добавить обработчик mod_python / mod_wsgi только в один из VirtualHost s.

Вы сказали, что загрузили субдомен иэто все еще показывает основной сайт.Не могли бы вы показать нам конфигурацию вашего сайта Apache?

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

Как отметил Грэм, скорее всего, у вас неправильная конфигурация VirtualHost.

Дважды проверьте, что есть два разных VH с правильным ServerName и что вы не используете * (подстановочный знак) в ServerName и ServerAlias, которые могут перекрываться с поддоменом или переходить в ПОСЛЕ поддоменов. Apache ищет только первый VH, который соответствует, поэтому если у вас есть что-то вроде * .example.com выше любого другого субдомена, например forum.example.com, не будет работать.

Также документация django рекомендует mod_wsgi, подумайте о переходе на него.

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