刚接触 Flask, 在部署到 nginx 后 route 变量规则这里碰到了奇怪的问题...
from flask import Flask
app = Flask(__name__)
@app.route('/geturl/<path:url>')
def geturl(url):
return url
if __name__=='__main__':
app.run()
直接用 python 执行 python geturl.py
访问 http://127.0.0.1:5000/geturl/http://google.com
, 返回:
http://google.com
然后用 uwsgi 部署到 nginx 后访问该地址返回:
http:/google.com
发现少了一个斜杠, 于是后面的地址用 urlencode 尝试
http://127.0.0.1:5000/geturl/http%3A%2F%2Fgoogle.com
仍然返回
http:/google.com
为什么莫名其妙的少了一个斜杠... 之后尝试, 无论多少个斜杠连在一起都只返回一个?!
如果是 nginx 的锅, 那该怎么让它支持多个连续斜杠...
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.