澄清一下,这是我第一次将 django 网站投入生产。
我在 django 中有一个可以在本地运行的简单网站。但是当我将它部署在生产服务器中时,它会在我提交表单时进入重定向循环。然后浏览器只是告诉我发生了重定向循环并要求清空缓存等等......
此问题发生在管理员中。我不知道它是否会发生在前端,因为它在前端没有任何形式。
笔记:
- 我没有任何时髦的中间件。
- 我在具有或多或少相同规格的生产服务器的虚拟机中进行了测试,它工作正常。
- 提交的数据得到正确处理和保存
- 网站的其余部分都很好
我通过 .htaccess 在共享主机中使用 apache 和 wsgi。
在这一点上,我不排除 dns 配置错误的可能性,但我已经检查过并且看起来很好。
.ht 访问:
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 访问它...