У меня есть сервер (nginx), который перенаправляет некоторые URL-адреса в статические каталоги, а другие - в приложение web.py wsgi.Конфигурация сервера также определяет страницу 404, которая отображается, когда кто-то пытается посетить несуществующий файл в статическом каталоге.
Однако иногда пользователь посещает URL, который nginx передает в python, и только потомЯ понимаю, что это должно 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;
}
}