首页 > 解决方案 > Flask 在现有路由中显示 404 错误

问题描述

我面临一个非常奇怪的问题,在我的 Flask 应用程序中,当索引路由(https://sitename.com/)被调用时,一切都很好,但是当我导航到像https://sitename.com/about这样的路由时,它显示404 错误,即使在 main.py 中创建了 About 路由。这个应用程序在 localhost:5000 中完美运行,但是当我将它部署到 VPS 时,它显示在每条路线上显示 404 的错误

我的 main.py

from os import environ
from flask import Flask, redirect, render_template, request, url_for
import requests
import json
import datetime

def getUserData(route):
    if request.headers.getlist("X-Forwarded-For"):
        ip = request.headers.getlist("X-Forwarded-For")[0]
    else:
        ip = request.remote_addr
    with open("users.txt", "a") as f:
        f.write(f"Page Visited: {route}\n")
        f.write(f"User Agent: {request.headers.get('User-Agent')}\n")
        f.write(f"Remote Addr: {ip}\n")
        f.write(f"DateTime: {datetime.datetime.now()}\n")
        f.write(f"\n\n\n")


app = Flask(__name__)
app.debug = True

# Website
@app.route('/')
def index():
    getUserData("Index Page")
    return render_template('index.html')

@app.route('/gallery')
def gallery():
    getUserData("Gallery")
    return render_template('pages/gallery.html')

@app.route('/faqs')
def faqs():
    getUserData("FAQs")
    return render_template('pages/faqs.html')

@app.route('/about')
def about():
    getUserData("About")
    return render_template('pages/about.html')

@app.route('/contact')
def contact():
    getUserData("Contact")
    return render_template('pages/contact.html')

    
# 404 Handling
@app.errorhandler(404)
def not_found(e):
    getUserData("404 Page")
    return render_template("pages/404.html")

if __name__ == '__main__':
    app.run()

标签: pythonflaskweburl-routing

解决方案


推荐阅读