2012-06-13 61 views
2

爲了澄清,這是我第一次將django網站投入生產。Django重定向循環表單提交

我在django有一個簡單的網站,可以在本地使用。但是當我將其部署到生產服務器時,當我提交表單時,它會進入重定向循環。然後瀏覽器告訴我發生了一個重定向循環,並要求清空緩存等...

這個問題發生在管理員。我不知道它是否會發生在前端,因爲它在前端沒有任何形式。

注:

  • 我沒有任何時髦的中間件。
  • 我在一臺虛擬機上測試過,它的生產服務器差不多和 規格相同,並且工作正常。
  • 提交的數據正確處理和保存
  • 該網站的其餘部分都很好

我使用的Apache與WSGI在共享的主機,通過的.htaccess。

在這一點上,我不排除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訪問它...

+0

發佈烏爾urls.py –

+0

還張貼哪根URL的路徑組件您正在訪問的Django站點。例如。 '/some/url/app2.wsgi'或'/ some/url'。再加上什麼URL被重定向到。請注意,通常不會使用DirectoryIndex指令,因爲您與RewriteRule一起使用。 –

+0

我編輯帖子的答案。 – hcorreia

回答

0

在撬過後服務器我停止了重定向循環。但是現在每次我保存一個表單時,我都會得到一個403錯誤。比我清除瀏覽器cookies和所有恢復正常,表單數據已成功保存在數據庫中。

在這一點上只是現在不還有什麼嘗試...