我有两个使用 Apache mod_wsgi 托管在同一台机器上的Django 应用程序(比如app1
和)。app2
这两个应用程序托管在两个不同的环境中:
- 在仅托管这两个应用程序的物理服务器上。它们以
http://www.example.com/app1/app1/
和访问http://www.example.com/app2/app2/
。 - 在第二个环境中有一个代理服务器。该服务器上的单独网页以
http://www.domain.com/
. 这链接到上述两个应用程序(现在托管在单个虚拟机上)作为http://www.domain.com/id1/
和http://www.domain.com/id2/
URLconf 文件如下所示:
urlpatterns = patterns('',
(r'^admin/', include(admin.site.urls)),
(r'^app1/', include('project.app1.urls')),
)
问题是,此 URL 配置在环境中有效1
,但在环境中无效2
。现在,如果我在环境中做一些疯狂2
的事情,比如
urlpatterns = patterns('',
(r'^admin/', include(admin.site.urls)),
(r'^app1/app1/app1/', include('project.app1.urls')),
(r'^app1/app1/', include('project.app1.urls')),
(r'^app1/', include('project.app1.urls')),
)
然后应用程序工作。在环境中。2
,应用程序被访问为http://www.domain.com/id1/app1/app1/
。
我不明白为什么我们需要app1
在 URL 中多次添加前缀。换句话说,为什么(如何)这样做。
有人可以澄清一下吗?另外请注意,所有配置都需要在虚拟机上完成。我无权访问代理服务器。