我正在逐个应用使用Django重新编写网站。服务器是RedHat,运行Apache 2,并安装了mod_wsgi。一切都很完美。
如果我访问http://www.example.com/,我会看到已经存在的主站点(使用PHP编写)。
我已经成功地运行了mod_wsgi。如果我访问http://www.example.com/django/,我会进入我的Django主页。
我有几个应用程序能够正常工作:
- http://www.example.com/django/software:可以顺利运行我的Django软件应用程序。
- http://www.example.com/django/newsletter:可以顺利运行我的Django新闻通讯应用程序。
所有反向URL查找功能均可正常工作,一切都很好。
在Apache的httpd.conf文件中的全局条目为:
WSGIScriptAlias /django /path/to/django/mysite/mysite/apache/django.wsgi
然而,当我将其投入生产时,我不希望URL中包含/django部分。
因此,对于http://www.example.com/software的请求将运行Django软件应用程序。
对于http://www.example.com/newsletter的请求将运行Django通讯应用程序。
我目前无法使http://www.example.com/重定向到根Django wsgi应用程序 - 这可能会在几个月后整个网站Django重写完成时发生。
那么,有什么想法可以使我的Django应用程序在当前设置中工作吗?
我是否需要创建每个应用程序的wsgi文件(例如:/path/to/django/mysite/mysite/apache/software.wsgi和/path/to/django/mysite/mysite/apache/newsletter.wsgi),并在httpd.conf文件中创建每个应用程序的条目?比如:
WSGIScriptAlias /software /path/to/django/mysite/mysite/apache/software.wsgi
WSGIScriptAlias /newsletter /path/to/django/mysite/mysite/apache/newsletter.wsgi
我似乎找不到太多关于这种特定设置的具体文档。大多数文档都假定您使用一个主要的wsgi文件和Django(通过urls.py)来代理所有请求。我很希望这对我来说也是这样,但现在这是不可能的。
可能是需要我处理一些Apache指令kung-fu。如果是这种情况,请让我知道。
谢谢。