特定のリクエストを他の任意のドメインにリダイレクトできる非常に単純なフラスコ アプリ (URL 短縮サービス) を作成しています。ただし、リダイレクトで問題が発生しています。たとえば、この簡素化されたバージョンは機能しません。
from app import app, db
from flask import abort, redirect
@app.route('/')
def index():
return "Hello, world"
@app.route('/favicon.ico')
def favicon():
abort(404)
@app.route('/<slug>')
def redirect(slug):
return redirect('http://google.com/')
おそらく素朴に、これが google.com にリダイレクトされることを期待していましたが、代わりにリダイレクトが Flask によって「キャプチャ」されたようで、リダイレクトされた URL をリダイレクト ハンドラ (例: redirect(slug="http://google.com/")
) を介してすべてのスタック スペースを使い果たすまでルーティングしようとします。再帰とエラーアウト。なぜこれが起こるのか、またはそれを回避する方法を理解できないようですが、正しい方向へのポインタを本当に感謝しています.