Запустите nginx -V
и найдите путь, определяемый --prefix=/prefix/path/to/nginx
.
Вы найдете файл по умолчанию 404, как 404.html
под /prefix/path/to/nginx/html
лучший способ для редактирования файла по умолчанию, если вы хотите, пользовательские страницы ошибок, чтобы добавить блок, как этот ваш файл nginx.conf по HTTP раздел
error_page 400 /error_docs/400_bad_request.html;
error_page 401 /error_docs/401_unauthorized.html;
error_page 403 /error_docs/403_forbidden.html;
error_page 404 /error_docs/404_not_found.html;
error_page 405 /error_docs/405_method_not_allowed.html;
error_page 406 /error_docs/406_not_acceptable.html;
error_page 407 /error_docs/407_proxy_authentication_required.html;
error_page 412 /error_docs/412_precondition_failed.html;
error_page 415 /error_docs/415_unsupported_media_type.html;
error_page 500 /error_docs/500_internal_server_error.html;
error_page 501 /error_docs/501_not_implemented.html;
error_page 502 /error_docs/502_bad_gateway.html;
error_page 504 /error_docs/504_gateway_timeout.html;
В основном это означает использование /error_docs/404_not_found.html
при возникновении ошибки 404. Вы, очевидно, определить те, для которых вы хотите сделать конкретную пользовательскую страницу
Вы можете сохранить файл 404_not_found.html где-то на сервере, таких как /prefix/path/to/nginx/errors
, а затем, в каждом разделе сервера, добавить что-то вроде
server {
...
location /error_docs {
internal;
alias /prefix/path/to/nginx/errors;
}
...
}
Всякий раз, когда вы вызываете какой-либо из ранее определенных кодов ошибок, будет предоставлена предопределенная пользовательская страница.
Я не понимаю, почему вы не хотите копировать HTML. Что вы ожидаете найти, если не HTML? –
@KyleJones, я просто чувствую, что это полуподобный способ сделать это. – Rob
Под этим я догадываюсь, что то, о чем вы просите, это способ сделать nginx отображением страницы 404 и _send обратно HTTP 404 code_, что было непонятно мне из вашего вопроса. –