Python 出于生产目的,从_目录()发送_

Python 出于生产目的,从_目录()发送_,python,apache,flask,Python,Apache,Flask,在我的app.py文件中,我有 @app.route('get_item') def get_item(): id = request.args.get('id') # if id is in database (if request is valid): send_from_directory('files', 'file.ext', as_attachment=True) else: abort(403) 我在许多SO帖子中读到,使用

在我的app.py文件中,我有

@app.route('get_item')
def get_item():
    id = request.args.get('id')
    # if id is in database (if request is valid):
        send_from_directory('files', 'file.ext', as_attachment=True)
    else:
        abort(403)

我在许多SO帖子中读到,使用Flask提供静态文件对于生产目的来说是个坏主意。如果我计划使用Apache服务器进行生产,我应该怎么做呢?

基本上,您需要一些重写规则,以便Apache能够找到文件,类似这样:

Alias /static/ /var/www/hello-world/static
并在需要时重定向到apache:

id = request.args.get('id')
# if id is in database (if request is valid):
    return redirect('/files/file.ext') # use the correct url written in rewrite rules
else:
    abort(403)

但这将允许任何人从直接URL访问该文件。如何防止直接访问该文件,而仅在ID有效时发送该文件?