2011-03-21 97 views
1

我有3個不同設置的django項目,2個子域下的項目parents.abc.com,teachers.abc.com and abc.com.它們都屬於共享的apache實例。這裏是我的httpd配置文件:django請求混淆了嗎?

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 
CustomLog /home/user/logs/user/access_django.log combined 
ErrorLog /home/user/logs/user/error_django.log 
KeepAlive Off 
Listen 37049 
MaxSpareThreads 3 
MinSpareThreads 1 
ServerLimit 1 
SetEnvIf X-Forwarded-SSL on HTTPS=1 
ThreadsPerChild 5 
WSGIDaemonProcess django processes=5 python-path=/home/user/webapps/django:/home/user/webapps/django/lib/python2.6 threads=1 
WSGIPythonPath /home/user/webapps/django:/home/user/webapps/django/lib/python2.6 
NameVirtualHost *:37049 

<VirtualHost *:37049> 
     WSGIScriptAlias//home/user/webapps/django/abc.wsgi 
     ServerName abc.com 
     ServerAlias abc.com 
</VirtualHost> 
<VirtualHost *:37049> 
     WSGIScriptAlias//home/user/webapps/django/parents.wsgi 
     ServerAlias parents.abc.com 
</VirtualHost> 

<VirtualHost *:37049> 
     WSGIScriptAlias//home/user/webapps/django/teachers.wsgi 
     ServerAlias teachers.abc.com 
</VirtualHost> 

我的問題來(重新啓動後)如果我訪問parents.abc.com,其次是teachers.abc.com(反之亦然),我會遇到錯誤的網址第二個,因爲它似乎是引用第一個項目的urls.py。即teachers.abc.com正在查看parents.abc.com的設置文件(反之亦然)。

任何人都可以對此有所瞭解嗎?

+0

@ Tom-Gruner是對的,你也可能想結賬http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango並仔細閱讀 – Stefano 2011-05-23 16:10:12

回答

1

我認爲你需要在每個虛擬主機指定的服務器名稱

添加在:

ServerName parents.abc.com 

和:

ServerName teachers.abc.com 

ServerAlias,據我所知,本身就是不足以定義基於名稱的虛擬主機。