0

同じドメインの下のサブディレクトリでローカルに 2 つの Django アプリケーションをセットアップしようとしています。

http://127.0.0.1/en/
http://127.0.0.1/jp/ 

ここにスニペットがあります/etc/apache2/apache2.conf

WSGIDaemonProcess khdx_wsgi user=galdosd group=galdosd maximum-requests=10000
WSGIScriptAlias /khdx /home/galdosd/khdxweb/rel/khdx/apache/django.wsgi
<Location /khdx>
    WSGIProcessGroup khdx_wsgi
</Location>

WSGIDaemonProcess sauron_wsgi user=galdosd group=galdosd maximum-requests=10000
WSGIScriptAlias /sauron /home/galdosd/finalsauronweb/django-root/apache/django.wsgi
<Location /sauron>
    WSGIProcessGroup sauron_wsgi
</Location>

私が直面している問題は、すべての URL が or の代わりに or に対して相対的に機能している127.0.0.1ことです。127.0.0.1/accounts127.0.0.1/login127.0.0.1/en/accounts127.0.0.1/en/login

最初、127.0.0.1 で実行されている Django アプリケーションが 1 つしかなかったとき、またはの代わりに をWSGIScriptAlias指示したため、すべてが正常に機能していました。//en/jp

前もって感謝します :)

4

2 に答える 2

2

アプリを次のように表示する場合:

http://127.0.0.1/en/
http://127.0.0.1/jp/

次に、使用する必要があります:

WSGIDaemonProcess khdx_wsgi user=galdosd group=galdosd maximum-requests=10000
WSGIScriptAlias /en /home/galdosd/khdxweb/rel/khdx/apache/django.wsgi
<Location /en>
    WSGIProcessGroup khdx_wsgi
</Location>

WSGIDaemonProcess sauron_wsgi user=galdosd group=galdosd maximum-requests=10000
WSGIScriptAlias /jp /home/galdosd/finalsauronweb/django-root/apache/django.wsgi
<Location /jp>
    WSGIProcessGroup sauron_wsgi
</Location>

/khdx と /sauron のサブ URL マウント ポイントがどこから来ているのかわかりませんが、必要なものは得られません。

実際には、上記をさらに単純化して次のようにします。

WSGIDaemonProcess khdx_wsgi user=galdosd group=galdosd maximum-requests=10000
WSGIScriptAlias /en /home/galdosd/khdxweb/rel/khdx/apache/django.wsgi process-group=khdx_wsgi application-group=%{GLOBAL}

WSGIDaemonProcess sauron_wsgi user=galdosd group=galdosd maximum-requests=10000
WSGIScriptAlias /jp /home/galdosd/finalsauronweb/django-root/apache/django.wsgi process-group=sauron_wsgi application-group=%{GLOBAL}

古い 2.X バージョンではなく、mod_wsgi 3.0 以降を使用していることを確認してください。

また、コードで正しいテンプレート マクロとコード関数を使用して、応答で URL を入力する必要がある場合に URL を正しく計算していることを確認してください。そうしないと、マウント ポイントが見つからない可能性があります。

また、ログイン/ログアウト URL のマウント ポイントの入力に使用されている Django バージョンに適した方法を使用してください。古いバージョンの Django では、ログイン/ログアウト URL の設定の一部として、設定ファイルに en と jp を明示的に含める必要があります。最近では、マウント ポイントを自動的にプレフィックスとして使用できる魔法の機能がいくつかあるため、設定のログイン/ログアウト URL パスにマウント ポイントの知識を埋め込む必要はありません。

したがって、その構成を使用してから、まだ問題がある場合は、その構成に基づいて問題を再度説明してください。

于 2013-05-18T11:28:23.367 に答える
1

ここでは、個別のアプリケーションは必要ありません。Django URL で言語プレフィックスを使用することにより、言語ベースのビューを自由に実装できます。

于 2013-05-18T09:19:12.060 に答える