我有一个在apache2服务器上运行的网站,该服务器在端口80上响应两个URL
Url-1 http://www.example.com
Url-2 http://oer.example.com
我想检测用户进来的两个网址中的哪一个并调整服务器的功能并将变量存储在配置变量中
app.config['SITE'] = 'OER'
或
app.config['SITE'] = 'WWW'
在互联网上环顾四周我可以找到很多使用urllib2的例子,问题是你需要传递你想要切片的网址,我无法找到一种方法来解决这个问题,因为它可能会在两者之间发生变化请求。
我可以分叉代码并提出两个不同的版本,但这就像一盒青蛙一样难看。
欢迎思考。
答案 0 :(得分:1)
在请求处理程序中使用Flask request
对象(from flask import request
)和以下之一:
hostname = request.environ.get('HTTP_HOST', '')
url = urlparse(request.url)
hostname = url.netloc
这将得到例如oer.example.com
或www.example.com
。如果还有一个端口号也包括在内。请记住,这最终来自客户端请求所以“坏”请求可能会设置错误,尽管希望apache不会将这些请求路由到您的应用程序。