gpt4 book ai didi

python - 如果不在/api下则将404重定向到索引页

转载 作者:行者123 更新时间:2023-11-30 23:08:11 25 4
gpt4 key购买 nike

我想将任何不是 API 调用的请求重定向到 index 方法。所有 api 网址均以“/api”开头。我应该使用 mod_rewrite 来执行此操作还是 Flask 可以本地处理此操作?

from flask import Flask

app = Flask(__name__, static_folder="public", static_url_path="")

@app.route("/", methods=["GET"])
def index():
return render_template("index.html")

@app.route("/api/some_resources", methods=["GET"])
def get_all():
pass
<VirtualHost *>
ServerName example.com
WSGIDaemonProcess my_app user=www-data group=www-data threads=5
WSGIScriptAlias / /var/www/my_app/my_app.wsgi

<Directory /var/www/my_app>
WSGIProcessGroup my_app
WSGIApplicationGroup %{GLOBAL}
WSGIScriptReloading On
Order deny,allow
Allow from all
</Directory>
</VirtualHost>

最佳答案

为 404 创建一个错误处理程序,如果路径不以“/api”开头,它将返回重定向而不是 404 错误。这样,如果有人访问不存在的端点,API 仍然可以返回 404,但所有其他请求都会路由到索引。

@app.errorhandler(404)
def handle_404(e):
if request.path.startswith('/api'):
return render_template('my_api_404.html'), 404
else:
return redirect(url_for('index'))

关于python - 如果不在/api下则将404重定向到索引页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31837338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com