Django重定向循环在表单提交

时间:2012-06-13 02:08:08

标签: django apache wsgi

为了澄清,这是我第一次将django网站投入生产。

我在django有一个简单的网站,可以在本地使用。但是当我在生产服务器中部署它时,它在我提交表单时进入重定向循环。然后浏览器告诉我发生了重定向循环并要求清空缓存等等......

此问题发生在管理员中。我不知道它是否会在前端发生,因为它在前端没有任何形式。

注意:

  • 我没有任何时髦的中间件。
  • 我在虚拟机中测试过或多或少相同的规格 生产服务器,它工作正常。
  • 正确处理并保存提交的数据
  • 网站的其他部分很好

我通过.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 ...

访问它

1 个答案:

答案 0 :(得分:0)

在服务器中探索之后,我停止了重定向循环。但是现在每次保存表单我都会收到403错误。比我清除浏览器cookie并恢复正常,表单数据已成功保存在数据库中。

在这一点上,现在还没有其他什么可以尝试...