Apache mod_wsgi を使用して同じマシンでホストされている 2 つの Django アプリ (たとえば、app1
と) があります。app2
これら 2 つのアプリは、次の 2 つの異なる環境でホストされています。
- これら 2 つのアプリのみがホストされている物理サーバー上。これらは および としてアクセスされ
http://www.example.com/app1/app1/
ますhttp://www.example.com/app2/app2/
。 - 2 番目の環境には、プロキシ サーバーがあります。そのサーバー上の別の Web ページは、としてアクセスされ
http://www.domain.com/
ます。これは、上記の 2 つのアプリ (現在は単一の仮想マシンでホストされています) に次のようにリンクしています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 に何度もプレフィックスを付ける必要がある理由がわかりませんでした。つまり、なぜ(どのように)これが機能するのか。
誰かがこれについて明確にできますか?また、すべての構成は仮想マシンで行う必要があることに注意してください。プロキシ サーバーにアクセスできません。