python - example - werkzeug traduccion
Enrutamiento del dominio en Flask (1)
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 el error 404. Por ejemplo, al visitar ''localhost.com:5000'' debe 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 ha intentado? Gracias por adelantado..
Nada en su código redirige una solicitud de localhost.com
a test.localhost.com
. Debería responder con un redireccionamiento HTTP a las solicitudes de localhost.com
si desea que esto suceda. También debe especificar el host para todas las rutas cuando establece host_matching en verdadero .
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 hosts.