12

mod_wsgi を使用して、Django プロジェクトを Apache で実行するように構成しています。Apache のディレクトリ 'cflow' の下で Django を実行しようとしていますが、リダイレクトで問題が発生しています。

私のApache confは次のようになります。

...
WSGIScriptAlias /cflow "C:\Program Files\Apache Software Foundation\Apache2.2\wsgi\django.wsgi"
<Directory "C:\Program Files\Apache Software Foundation\Apache2.2\wsgi">
    Order allow,deny
    Allow from all
</Directory>
<Directory "C:\Projects\myproject\src">
    Order allow,deny
    Allow from all
</Directory>

私が直面している問題は、ユーザーがログインしていない場合、/cflow/somepage.html の要求が /accounts/login?next=/cflow/somepage.html にリダイレクトされることです。この新しいアドレスは django ルート (cflow) の下にないため、apache は 404 Not Found で応答します。

私の質問は、Apache のアプリケーション ルート ディレクトリの下に Django リダイレクトをマップするにはどうすればよいですか? つまり、/accounts/... ページを代わりに /cflow/accounts/... にするにはどうすればよいですか?

助けてくれてありがとう。

4

1 に答える 1

15

試すこと:

  1. 「sites」フレームワークで現在のドメインを「yourdomain.tld/cflow」に変更します。django admin または dumpdata/loaddata manage.py コマンドを使用して簡単に実行できます。

  2. あなたのサイトはlogin_requiredデコレーターを使用しているようです。その特定のケースでは、 settings.pyに追加できます:

    LOGIN_URL = '/cflow/アカウント/ログイン/'

于 2009-06-24T09:47:28.103 に答える