2

明確にするために、django Web サイトを運用するのはこれが初めてです。

django に、ローカルで動作するシンプルな Web サイトがあります。しかし、本番サーバーにデプロイすると、フォームを送信するとリダイレクトループに入ります。次に、ブラウザはリダイレクトループが発生したことを通知し、キャッシュを空にするように求めます...

この問題は管理者で発生します。フロントエンドにはフォームがないだけなので、フロントエンドで発生するかどうかはわかりません。

ノート:

  • ファンキーなミドルウェアはありません。
  • 本番サーバーとほぼ同じ仕様の仮想マシンでテストしたところ、正常に動作しました。
  • 提出されたデータは正しく処理され、保存されます
  • ウェブサイトの残りの部分は問題ありません

.htaccess を介して、共有ホストで wsgi と共に apache を使用しています。

この時点で、DNS の設定ミスの可能性を排除することはできませんが、既に確認済みで問題ないようです。

.htaccess:

AddHandler wsgi-script .wsgi
DirectoryIndex app22.wsgi

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteRule ^(.*)$ app22.wsgi/$1 [QSA,PT,L]
</IfModule>

app22.wsgi:

import os, sys

os.environ['DJANGO_SETTINGS_MODULE'] = 'BTT.settings'

path = '/home/bttmonch/apps'
if path not in sys.path:
    sys.path.append(path)

path = '/home/bttmonch/apps/ENV/lib/python2.7/site-packages'
if path not in sys.path:
    sys.path.append(path)

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

この時点で、管理者だけがアクティブ化された新しいアプリを作成し、それがコーディングの問題であるかどうかを確認してサーバーに配置しました。そして、同じことが起こります。

前に述べたのと同じ .htaccess および .wsgi ファイルを使用しています。

私の urls.py は基本的なものです:

from django.conf.urls.defaults import patterns, include, url

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Uncomment the next line to enable the admin:
    url(r'^admin/', include(admin.site.urls)),
)

test.domainname.com 経由でアプリにアクセスしています。私はすでに、test.domainname.com、test.domainname.com/app22.wsgi、domainname.com/test/、および domainname.com/test/app22.wsgi からアクセスしようとしました...

4

1 に答える 1

0

サーバーをいじった後、リダイレクトループが発生しなくなりました。しかし、フォームを保存するたびに 403 エラーが発生します。ブラウザの Cookie をクリアすると、すべてが正常に戻り、フォーム データがデータベースに正常に保存されます。

この時点で、他に何をしようとしないでください...

于 2012-06-16T20:32:15.073 に答える