django url 里用 带址当参数 或者只要是带// 或者 ////的 在最后输入的时候全部变成了 /

2020-02-28 20:40:03 +08:00
 python30
http://www.xxxx.com 变成了 http:/www.xxxx.com
https://www.bbb.com 变成了 https:/www.bbb.com
// 变成 /
///// 变成 /

总是全部的 /// 都变成了一个。

在 django url 里是这样写
path('abcd/<path:play_url>', player, name='player'),

不知道怎么回事?

更奇怪的是我在本地环境下一切正常
网址原样不变的传递了。

一到部署到网上。一传递后再输出全部的 // 就都变成了 /

这是怎么回事?

难道要用 re_path 写正则 url?
1750 次点击
所在节点    Python
2 条回复
hijoker
2020-02-28 22:47:44 +08:00
golang 的 gin 也是这样的
不过,gin 在 master 分支和下个正式版本会修正这个问题
https://github.com/gin-gonic/gin/issues/2239
其实 github 你在浏览器的地址栏里把 /改为 ////也能正确的访问
whoami9894
2020-02-29 00:09:38 +08:00
你这样传参应该编码成%2f 吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/648438

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX