【发布时间】:2015-04-17 03:02:06
【问题描述】:
我正在尝试根据我正在构建的 Flask 站点的请求 URL 的主机来实现路由。
根据我读过的here 和elsewhere,似乎这应该是可能的
from flask import Flask
application = Flask(__name__)
application.url_map.host_matching = True
@application.route("/", host="<prefix>.mydomain.com:<port>")
def mydomain(prefix='', port=0, **kwargs):
return 'This is My Domain: with prefix ' + prefix
@application.route("/", host="<prefix>.<project>elasticbeanstalk.com:<port>")
def test(prefix='', project='', port=0, **kwargs):
return 'You are reading from EB ' + project
@application.route("/", host="<host>:<port>")
def catchall(**kwargs):
return 'This is anything'
但这会失败,出现 404“找不到页面”。我还需要做些什么来使它正常工作吗?链接的SO answer 提到“当您将 host_matching 设置为 true 时需要为所有路由指定主机”,但我不确定这意味着什么或它会是什么样子(我认为这就是我在上面所做的)。
如何在 Flask 中根据请求的 URL 的域进行路由?
如果重要,此站点托管在 AWS Elastic Beanstalk 上。
【问题讨论】:
标签: routing flask amazon-elastic-beanstalk