2011-08-21 48 views
1

我已经在我的settings.py文件中设置APPEND_SLASHES指令False,但Django的进行重定向一些(但不是全部)请求这是令人难以置信的恼人。什么可能导致这个问题?Django的忽略APPEND_SLASHES

基本上,如果我做的请求没有斜杠,它会返回正确的响应主体,而是一个重定向(301),在年底这将不匹配,因为它重定向到相同的URL,但以斜杠它不应该以斜线结束。

是否有修复或我只需要从CommonMiddleware去掉斜杠重定向代码?

编辑:CommonMiddleware不是罪魁祸首。该URL在最后以斜杠到达。

编辑2:只发生在Firefox。 到底是什么? Firebug寄存器两个 HTTP请求,其中之一是重定向。只有一个请求实际上碰到了服务器,并且它是最后一个带有斜杠的。 301从无处出现,甚至没有发送(Wireshark没有注册它)。

回答

3

301是permament重定向。所以,如果你有这个选项设置为true,然后firefox仍然会记住这个permament重定向并转到附加斜线的页面。尝试清除火狐缓存和离线内容。