明確にするために、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 からアクセスしようとしました...