Мое веб-приложение назначает субдомен пользователям и при необходимости позволяет им использовать собственный домен. Это работает, за исключением случаев, когда пользователь посещает свой личный домен для маршрута без косой черты в конце.
GET-запросы к этому URL-адресу работают должным образом: http://user.example.com:5000/book/12345/
GET-запросы к этому URL-адресу работают должным образом: http://custom.com:5000/book/12345/
Запросы GET на этот URL пытаются выполнить перенаправление, но безуспешно: http://custom.com:5000/book/12345
Flask перенаправляет браузер на этот URL-адрес, который, конечно же, не работает: http://<invalid>.example.com:5000/book/12345/
Есть ли другой способ обработки пользовательских доменов? Вот полный минимальный пример, чтобы воспроизвести это. Я установил custom.com, example.com. и user.example.com, чтобы указать на 127.0.0.1 в моем файле /etc/hosts в моей среде разработки, чтобы Flask получил запрос.
from flask import Flask
app = Flask(__name__)
server = app.config['SERVER_NAME'] = 'example.com:5000'
@app.route('/', subdomain="<subdomain>")
@app.route('/')
def index(subdomain=None):
return ("index")
@app.route('/book/<book_id>/', subdomain="<subdomain>")
@app.route('/book/<book_id>/')
def posts(post_id, subdomain=None):
return (book_id)
if __name__ == '__main__':
app.run(host='example.com', debug=True)