Python 能否将web.py设置为使用服务器';404页?

Python 能否将web.py设置为使用服务器';404页?,python,nginx,http-status-code-404,wsgi,web.py,Python,Nginx,Http Status Code 404,Wsgi,Web.py,我有一个服务器(nginx),它将一些url路由到静态目录,另一些路由到web.py wsgi应用程序。服务器的配置还定义了一个404页面,当有人试图访问静态目录中不存在的文件时会显示该页面 然而,有时用户会访问nginx传递给python的url,只有到那时我才意识到它应该是404。此时,web.py返回自定义错误页面以及正确的状态代码没有问题;问题是,我希望它返回404页面,就像服务器返回未发送到python的页面一样。目前python正在手动读取和打印404.html文件,但这似乎效率很低

我有一个服务器(nginx),它将一些url路由到静态目录,另一些路由到web.py wsgi应用程序。服务器的配置还定义了一个404页面,当有人试图访问静态目录中不存在的文件时会显示该页面

然而,有时用户会访问nginx传递给python的url,只有到那时我才意识到它应该是404。此时,web.py返回自定义错误页面以及正确的状态代码没有问题;问题是,我希望它返回404页面,就像服务器返回未发送到python的页面一样。目前python正在手动读取和打印404.html文件,但这似乎效率很低

那么,python有没有办法告诉服务器显示自己的404页面

这是我当前的nginx.conf,删除了注释行

worker_processes  1;    

events {
    worker_connections  1024;
}

http {
    include            mime.types;
    default_type       application/octet-stream;
    sendfile           on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  light.info;
        root         /www/example.com/html;
        index        index.html;

        location /s/     {}
        location /error/ {}
        location /       {
            fastcgi_pass   127.0.0.1:9001;
            fastcgi_param  REQUEST_URI     $request_uri;
            fastcgi_param  QUERY_STRING    $query_string;
            fastcgi_param  REQUEST_METHOD  $request_method;
            fastcgi_param  REMOTE_ADDR     $remote_addr;
        }

        error_page  404              /error/404.html;
        error_page  403              /error/403.html;
        error_page  500 502 503 504  /error/50x.html;
    }
}

你不会让python告诉nginx自己该做什么,你会让nginx拦截404


uwsgi\u截获\u错误开启
是您正在寻找的,我想假设您使用的是
uwsgi
。如果您可以发布您当前的配置,这将很有帮助…

我正在使用fastcgi-您建议改用uwsgi吗?我在问题中编辑了配置。这很有效,谢谢你(不幸的是,我现在还不想说“很棒的评论”)。现在我想知道我是否应该使用unix套接字,uwsgi和fastcgi有什么不同,但我认为谷歌会回答这些问题。