Django 1.3 URL重写
Django具有CommonMiddleware设置,默认情况下会在不以1结尾的URL后面加上斜杠. 例如: 但是,我得到的情况不是(2),而是(3)http://www.example.com//admin/,这给了我404错误. 这是正确的行为吗?解决404错误的一种方法是什么? 注意: ================================================== ==================== 更新: 问题出在nginx配置上,我写了将HTTP请求重定向到HTTPS的配置.
发生的是CommonMiddleware从https://www.example.com/admin重定向到http://www.example.com/admin/.再次击中nginx,并按照配置文件中的指定将URL重写为https://www.example.com/ $1,其中$1为“ / admin /”.这意味着最终的URL是https://www.example.com//admin/. 为了解决这个问题,我将重写规则更改为:
最佳答案
“这是正确的行为吗?”不,这不对.在使用Django的4年中,我从未见过这个特殊的问题.
测试CommonMiddleware导致这种情况的一种方法是在您的settings.py文件中将其注释掉,重新启动,然后查看是否出现相同的行为.使用独立的开发服务器并在有趣的地方粘贴指纹以查看谁在处理它也可能很有帮助. (编辑:鲜蔬坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- linux – 根据流量或请求的百分比负载均衡HTTP?
- nginx用查询字符串重写url
- django – gevent-socketio nginx uwsgi不能在开发服务器上
- nginx – 使用SSL的Chrome中的“连接未压缩”
- ruby-on-rails – 带nginx的乘客:无法加载此类文件 – bun
- nginx – wordpress登录页面上的连续POST请求 – 黑客尝试?
- node.js – 你应该如何处理auth并在微服务之间共享用户信息
- nginx-Capistrano 3无权查询此Phusion Passenger实例的状态
- ubuntu – 在达到nginx状态时绕过localhost上的SSL
- Nginx缓存无管理增长