功能:使用django.test.client.Client 来访问某个 url 以确定页面是否正常。
问题:本地运行良好,部署到服务器之后所有的链接都被301,但是shell在服务器仍然正常。
原因:
省略若干字……
跟踪log
2010-04-02 14:34:31,625 INFO utils.verify_internal Line:120 response: Date: Fri, 02 Apr 2010 14:34:31 GMT
Content-Length: 0
ETag: "d41d8cd98f00b204e9800998ecf8427e"
Content-Type: text/html; charset=utf-8
Location: http://www.testserver/
#这里的location被加上了www,事后证明就是这个造成了301。
1. PREPEND_WWW = sys.argv[0] != 'manage.py'
2. 在服务器上采用wsgi部署,因此没有manage.py,所以PREPEND_WWW = True
解决:
Django settings.PREPEND_WWW与test client 的配合失误
最新推荐文章于 2026-06-24 20:10:14 发布
本文探讨了一个关于Django应用在服务器部署后出现的所有URL被301重定向的问题。通过调整中间件设置,成功解决了由CommonMiddleware引起的自动添加'www.'前缀导致的重定向现象。


3560

被折叠的 条评论
为什么被折叠?



