thesite.comという名前のWebアプリがあるとします。私はすべてのユーザーに彼自身のURLを与える必要があります。たとえば、アリスがサインアップした場合、彼女はURL「alice.thesite.com」で自分のスペースを取得します。これを実現するにはどうすればよいですか。
ありがとうアリス
まず、ワイルドカードDNSエントリを使用して、すべてのサブドメインをサーバーにポイントします。次に、フラスコでリクエストホストヘッダーを読み取り、Webアプリへのアクセスに使用されたサブドメイン(存在する場合)を引き出します。
host = request.host
host = host.split(':', 1)[0] # Strip off optional ':##' port number
username = None
if host.endswith('.yourdomain.com'):
username = host.split('.', 1)[0]
そのドメインのすべてのサブドメインをDNS経由で同じWebサイトにポイントし、HTTP 1.1Host
ヘッダーを調べて、表示されているユーザーWebサイトを特定します。