私は WSGI アプリ (Django プロジェクト) を gunicorn で実行しており、mod_proxy で Apache を使用して からに127.0.0.1:18731
リクエストをリダイレクトしています。静的ファイルは の外部に保存されます。Django アプリが何もリダイレクトする必要がない場合、これは問題なく機能しますが、リクエストをリダイレクトしようとすると (たとえば、末尾のスラッシュを に追加する)、最終的に URL から削除され、無効な URL が残ります。http://example.com/my-project/*
http://127.0.0.1:18731/*
/my-project/
http://example.com/my-project/foo
/my-project/
http://example.com/foo/
私の mod_proxy 構成は次のとおりです。
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyRequests On
ProxyPass /my-project/ http://127.0.0.1:18731/ retry=0
ProxyPassReverse /my-project/ http://127.0.0.1:18731/ retry=0
ProxyPreserveHost On
ProxyErrorOverride Off
/my-project/
移植性のために、Django がすべての URL にプレフィックスを付けることを強制したくありません。Apache はどうやらこの行で独自にプレフィックスを処理しているはずProxyPassReverse
です。私は何を間違っていますか?