我有以下设置:
"https://example.com/machine1/*" -> "http://machine1/*"
/
,例如/foobar
。这意味着,https://example.com/machine1/foobar
会将 Machine1 命名为/foobar
。
我在变量/machine1
中有加载点NGINX_MOUNT_URL
。
问题是,url_for
无法解决问题。
我试过
app.config["APPLICATION_ROOT"] = NGINX_MOUNT_URL # = "/machine1"
但似乎只适用于cookie网址。
有一个简单的观点:
@app.route("/foobar")
def web_foobar():
from flask import url_for
return "The URL for this page is {}".format(url_for("web_foobar"))
# end def
因此,浏览https://example.com/machine1/foobar
(主服务器)将代理到显示http://machine1/foobar
的{{1}}( Machine1 )。
我需要它The URL for this page is /foobar
,以便在模板中链接起作用。
我尝试了https://stackoverflow.com/a/18967744/3423324中提供的解决方案,但最终我必须浏览/machine1/foobar
以获取页面https://example.com/machine1/machine1/foobar
。
如何让/foobar
了解flask.url_for
?
答案 0 :(得分:-1)
查看How do I get the different parts of a Flask request's url?
path
和script_root
请求变量看起来正确无误。