Dominio de enrutamiento en matraz

Quería redirigir a los usuarios de test1.domain.com a test2.domain.com. Intenté ‘host_matching’ en url_map junto con ‘host’ en url_rule. Parece que no funciona, muestra un error 404. Por ejemplo, al visitar ‘localhost.com:5000’ debería ir a ‘test.localhost.com:5000’.

from flask import Flask, url_for, redirect app = Flask(__name__) app.url_map.host_matching = True @app.route("/") def hello1(): #return "Hello @ example1!" return redirect(url_for('hello2')) @app.route("/test/", host="test.localhost.com:5000") def hello2(): return "Hello @ test!" if __name__ == "__main__": app.run() 

¿Es posible? ¿Alguien lo ha intentado? Gracias por adelantado..

Nada en su código está redirigiendo una solicitud de localhost.com a test.localhost.com . Necesitaría responder con una redirección de http a las solicitudes de localhost.com si desea que esto suceda. También debe especificar el host para todas las rutas cuando establezca host_matching en true .

 from flask import Flask, redirect, url_for app = Flask(__name__) app.url_map.host_matching = True @app.route("/", host="localhost.com:5000") def hello1(): return redirect(url_for("hello2")) # for permanent redirect you can do redirect(url_for("hello2"), 301) @app.route("/", host="test.localhost.com:5000") def hello2(): return "Hello @ test!" if __name__ == "__main__": app.run() 

Tenga en cuenta que también necesitará asignar localhost.com y test.localhost.com a 127.0.0.1 en su archivo de hosts.