我有一个网站,我目前正在使用 Django 逐个应用程序重写。服务器是红帽。运行 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
但是,当我将它投入生产时,我不想让 /django 部分涉及到 url。
因此,对http://www.example.com/software的请求将运行 Django 软件应用程序。
对http://www.example.com/newsletter的请求将运行 Django newsletter 应用程序。
我还不能让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 指令功夫。如果是这种情况,请告诉我。
TIA。