Django を Apache で使えるようにしようとしていますが、今実装したばかげた方法よりも柔軟性を持たせたいと思っています。現在、私の httpd_wsgi.conf には次の行があります。
WSGIScriptAlias / /Library/WebServer/Documents/acdc/apache/promotions.wsgi
私のプロジェクトの urls.py には、次の行があります。
url(r'^chicken/login/', 'login'),
ブラウザのアドレス バーにhttp://www.example.com/chicken/loginと入力すると、適切なログイン機能にルーティングされます。また、urls.py のすべてのパターンの先頭に「chicken」が付いていれば、すべて正常に動作します。
ただし、このアプリがデプロイされている URL を切り替えることができるようにしたいです。たとえば、http://www.example.com/monkey/loginを機能させたい場合はどうすればよいでしょうか。現時点では、すべての URL とすべてのリンクを変更する必要がありますが、これはばかげています。WSGIScriptAlias を変更した場合、これは些細なことのように思えます。
WSGIScriptAlias /monkey/ /Library/WebServer/Documents/acdc/apache/promotions.wsgi
次に、URL を次のようにします。
url(r'^login/', 'login'),
カップリングを取り除きます。問題は、試行錯誤と調査を 1 時間行った後、うまく動作しないことです。直前の構成を使用してhttp://www.example.com/monkey/loginに移動すると、ログに次の Apache エラーが記録されます。
Target WSGI script not found or unable to stat: /Library/WebServer/Documents/acdc/apache/promotions.wsgilogin
したがって、「ログイン」ルートは、私の Django アプリを起動する Promotions.wsgi ファイルに追加されるだけのようです。
要約すると、私は Apache が URL の一部を「飲み込み」、残りを urls.py の私のパターンとのパターン マッチングのためにフィードしたいと考えています。どうすればいいですか?