可以通过 Flask 中的自定义错误处理程序来实现在出现 404 错误时自动跳转到指定网址,并在路径上加上当前用户请求的路径和参数。以下是一个示例代码,演示了如何在 Python 中使用 Flask 实现这个功能:
from flask import Flask, redirect, request
app = Flask(__name__)
# 自定义404错误处理程序
@app.errorhandler(404)
def page_not_found(error):
# 获取当前用户请求的路径和参数
requested_path = request.path
requested_query_string = request.query_string.decode('utf-8') if request.query_string else ''
# 构建重定向网址,包括当前用户请求的路径和参数
redirect_url = f"https://abc.com{requested_path}?{requested_query_string}"
# 返回301重定向响应
return redirect(redirect_url, code=301)
# 主页路由
@app.route('/')
def index():
return 'Welcome to the homepage'
if __name__ == '__main__':
app.run(debug=True)
在这个示例中,定义了一个 Flask 应用程序,包括一个自定义的 404 错误处理程序 page_not_found
。当用户访问不存在的页面时(即出现 404 错误),Flask 会调用这个错误处理程序,获取当前用户请求的路径和参数,然后构建一个新的重定向网址 https://abc.com
,包括当前用户请求的路径和参数,最后返回 301 重定向响应。
代码中的abc为新的域名