Python 能否将web.py设置为使用服务器';404页?
我有一个服务器(nginx),它将一些url路由到静态目录,另一些路由到web.py wsgi应用程序。服务器的配置还定义了一个404页面,当有人试图访问静态目录中不存在的文件时会显示该页面 然而,有时用户会访问nginx传递给python的url,只有到那时我才意识到它应该是404。此时,web.py返回自定义错误页面以及正确的状态代码没有问题;问题是,我希望它返回404页面,就像服务器返回未发送到python的页面一样。目前python正在手动读取和打印404.html文件,但这似乎效率很低 那么,python有没有办法告诉服务器显示自己的404页面 这是我当前的nginx.conf,删除了注释行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文件,但这似乎效率很低
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有什么不同,但我认为谷歌会回答这些问题。