セッション処理を行うためにflask-loginを使用したログイン認証を必要とするFlaskアプリケーションがあります。アプリケーションはapacheでVirtualHostを使用しており、ルートURLは/myapp
たとえばです。ログインが必要なURL(たとえば/myapp/admin
)にアクセスすると、目的のログインフォームとページが表示されますが、/login
代わりにリダイレクトされ/myapp/login
、404エラーURLが見つかりません。
apache構成では/
なく、でアプリケーションをホストすると、すべてが期待どおりに機能します。/myapp
これを修正するフラスコログインの設定、または別の回避策はありますか?
私の設定とログインビューは次のとおりです。
login_manager.login_view = "login"
@app.route("/login", methods=['GET', 'POST'])
def login():
form = LoginForm()
if form.validate():
#do login stuff
else:
flash("Bad username and/or password!")
return render_template("login.html", form=form)
そして、これがapacheのVirtualHostディレクティブです。
<VirtualHost *:80>
#ServerAdmin webmaster@mydomain
WSGIScriptReloading On
WSGIScriptAlias /myapp /envs/myApp/myapp/myapp.wsgi
WSGIDaemonProcess myapp threads=5 user=user1 group=user1
<Directory "/envs/MyApp/myapp/">
WSGIProcessGroup myapp
WSGIApplicationGroup %{GLOBAL}
Order allow,deny
Allow from all
</Directory>
</VirtualHost>