【发布时间】:2013-10-26 06:22:01
【问题描述】:
我有两个mod_wsgi django 站点和四个域名。两个域指向每个站点。当我使用 chrome 中的所有四个域访问我的两个站点时,它们都可以正常工作。但只是大多数时候。有时,给定一个域,会突然显示错误的站点。完全出乎意料。
这变得非常令人困惑,因为这种行为是完全不可预测的。我关注了站点 A 上的一些内部链接,突然间,出现了来自站点 B 的 404 error(当然,该 url 无法在站点 B 的 url 中解析,因为它是来自站点 A 的 url)。我可以在不更改 url 的情况下刷新页面,然后它会突然返回站点 A。或者它会停留在错误的站点和 404 再次,你永远不知道。
我已经在代理(例如 hidemyass.com)上尝试过,同样会出现不可预知的结果。
唯一可以预见的是在apachectl -k graceful之后,有一段时间没有站点切换,但之后,它只是每两页发生一次。我向你保证,这没有偏见。
这是我的 httpd:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.siteA.tk
ServerAlias siteA.tk
WSGIScriptAlias / /home/me/siteA/siteA/wsgi.py
Alias /static/ /var/www/siteA/static/
</VirtualHost>
<VirtualHost *:80>
ServerName www.siteA.com
ServerAlias siteA.com
WSGIScriptAlias / /home/me/siteA/siteA/wsgi.py
Alias /static/ /var/www/siteA/static/
</VirtualHost>
<VirtualHost *:80>
ServerName www.siteB.tk
ServerAlias siteB.tk
WSGIScriptAlias / /home/me/siteB/siteB/wsgi.py
</VirtualHost>
<VirtualHost *:80>
ServerName www.siteB.com
ServerAlias siteB.com
WSGIScriptAlias / /home/me/siteB/siteB/wsgi.py
</VirtualHost>
<Directory /var/www/siteA/static>
Order deny,allow
Allow from all
</Directory>
WSGIPythonPath /home/me/siteA:/home/me/siteB
请帮忙,我好害怕,就像我的电脑被某个 Apache 恶魔附身了。
【问题讨论】:
-
我认为您需要为
WSGIScriptAlias中的每个站点使用不同的路径。喜欢WSGIScriptAlias /siteAtk /home/me/siteA/siteA/wsgi.py为 www.siteA.tk -
还是同样的问题,用这个方法也不能在root地址下运行
标签: python django apache mod-wsgi