私のdjango構成に奇妙な問題があります。1 つの django プロジェクト ディレクトリで 3 つの同様のサイトを実行しています。それらをapache virtualhostで分離しました。ほとんどの場合、問題なく動作していますが、どういうわけか、別のドメインの 1 つのドメイン コンテンツの下にあることがあります。
たとえば、domain.cz は www.microsite.cz のふりをします。したがって、2 つのドメインの下に同じコンテンツがあります。または、domain.sk が domain.cz のふりをします。ランダムに発生し、デバッグが困難です。通常は Google ウェブマスター ツールから確認できます。Apacheを再起動すると、すべて問題ありません。
この奇妙な動作を引き起こす原因を知っている人はいますか?
これは私の設定httpd.confです:
ServerRoot "/home/me/webapps/domain/apache2"
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule wsgi_module modules/mod_wsgi.so
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
KeepAlive Off
Listen 53696
SetEnvIf X-Forwarded-SSL on HTTPS=1
MaxSpareThreads 10
MinSpareThreads 2
ServerLimit 3
ThreadsPerChild 10
WSGIPythonPath /home/me/webapps/domain:/home/me/webapps/domain/lib/python2.6/site-packages
NameVirtualHost *
<VirtualHost *>
ServerName domain.cz
ServerAlias www.domain.cz
CustomLog /home/me/logs/user/domain/access_com.log combined
ErrorLog /home/me/logs/user/domain/error_com.log
WSGIDaemonProcess domain_cz processes=3 python-path=/home/me/webapps/domain:/home/me/webapps/domain/lib/python2.6 threads=2
WSGIScriptAlias / /home/me/webapps/domain/apache2/conf/cz.wsgi
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain\.cz$ [NC]
RewriteRule ^/(.*)$ http://domain1.cz/$1 [R=301]
</VirtualHost>
<VirtualHost *>
ServerName domain.sk
ServerAlias www.domain.sk
CustomLog /home/me/logs/user/domain/access_sk.log combined
ErrorLog /home/me/logs/user/domain/error_sk.log
WSGIDaemonProcess domain_sk python-path=/home/me/webapps/domain:/home/me/webapps/domain/lib/python2.6 threads=3
WSGIScriptAlias / /home/me/webapps/domain/apache2/conf/sk.wsgi
RewriteEngine on
RewriteCond %{HTTP_HOST} slavne-domain\.sk$ [NC,OR]
RewriteCond %{HTTP_HOST} slavnedomain\.sk$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.domain\.in$ [NC]
RewriteRule ^/(.*)$ http://domain.in/$1 [R=301]
</VirtualHost>
<VirtualHost *>
ServerName www.microsite.cz
ServerAlias microsite.cz
CustomLog /home/me/logs/user/domain/access_cz_laska.log combined
ErrorLog /home/me/logs/user/domain/error_cz_laska.log
WSGIDaemonProcess domain_cz_micro python-path=/home/me/webapps/domain:/home/me/webapps/domain/lib/python2.6 threads=3
WSGIScriptAlias / /home/me/webapps/domain/apache2/conf/cz_micro.wsgi
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain-o-lasce\.net$ [NC]
RewriteRule ^/(.*)$ http://www.domain-o-lasce.net/$1 [R=301]
</VirtualHost>
これは私の wsgi スクリプトの例です:
import os
import sys
from django.core.handlers.wsgi import WSGIHandler
os.environ['DJANGO_SETTINGS_MODULE'] = 'domain.settings.cz'
# or domain.settings.sk or domain.settings.cz_micro
application = WSGIHandler()