我有一个烧瓶应用程序,需要使用flask-login进行登录验证才能进行会话处理。应用程序在apache中使用VirtualHost,例如根URL为/myapp
。当我点击需要登录的网址(例如/myapp/admin
)时,我会获得所需的登录表单和页面,但之后会重定向到/login
而不是/myapp/login
,我收到404错误找不到网址。
如果我在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>