为了账号安全,请及时绑定邮箱和手机立即绑定

Django:SSL + 尾部斜杠导致浏览器中的 URL 显示异常路径

Django:SSL + 尾部斜杠导致浏览器中的 URL 显示异常路径

互换的青春 2023-07-11 16:15:46
托管:A2Hosting部署的 A2Hosting 参考:链接Python:3.8.1Django:3.1.1Web 服务器:Apache当settings.py中的“SECURE_SSL_REDIRECT = False ”时,在urls.py路径中添加尾部斜杠不会出现问题。    urlpatterns = [       path('admin/', admin.site.urls),       path('login/', dashboard, name="dashboard"),   ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)   urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)事实上,访问 URL http://subdomain.domain.com/login(或 admin)会显示正确的页面。但是,当我设置“SECURE_SSL_REDIRECT = True ”时,如果我保留尾部斜杠并访问相同的 URL,页面仍会正确显示,但浏览器地址栏中的 URL 会发生变化。而不是:https://subdomain.domain.com/login它变成:https://subdomain.domain.com/home/user/a2hosting_python_app/login/对于管理路径,改为:https://subdomain.domain.com/admin/login/?next=/admin/变为:https://subdomain.domain.com/home/user/a2hosting_python_app/admin/login /?next=/home/user/a2hosting_python_app/admin/此时,如果我编辑urls.py删除尾部斜杠:    urlpatterns = [       path('admin', admin.site.urls),       path('login', dashboard, name="dashboard"),   ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)   urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)登录 URL 显示正确,但管理 URL 不会。我没有在settings.py中设置 APPENDING_SLASH 。有谁知道为什么 Django 会这样?我究竟做错了什么?提前谢谢了。
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 86 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信