什么是子域名?
子域名,类似于xxx.douban.com的形式,如book.douban.com,music.douban.com,movie.douban.com等
用flask怎么实现子域名?
flask在注册路由的时候,允许一个参数subdomain
from flask import Flask
app = Flask(__name__)
app.config["SERVER_NAME"] = 'test.com:5000'
# 实现子域名 xxx.test.com
1) 静态子域名
@app.route("/", subdomain="admin")
def static_domain():
return "static domain"
在启动服务前,还需要配置DNS解析
DNS解析,即在访问一个网址时,会将网址映射到一个对应的IP地址上,所以我们 要在本地测试我们的admin.test.com:5000也需要配置我们的DNS解析
以管理员的身份打开C:\Windows\System32\drivers\etc下面的hosts文件,在最后加入我们希望映射的网址即可
启动服务后,浏览器输入admin.test.com:5000,即可访问
2)动态子域名
@app.route("/dynamic", subdomain="<subdomain>")
def dynamic_subdomain(subdomain):
return subdomain+" .domain"
启动服务,在浏览器中输入admin.test.com:5000/dynamic(这里的子域名必须要是在hosts文件中配置过的,否则服务器会拒绝访问)
使用蓝图如何使用子域名?
在创建蓝图的时候,支持传入一个参数,subdomain