Nginx - Customizing 404 страницы

Я использую это, потому что это очень просто:

if [ `LANG=C type example 2>/dev/null|wc -l` = 1 ];then echo exists;else echo "not exists";fi

или

if [ `LANG=C type example 2>/dev/null|wc -l` = 1 ];then
echo exists
else echo "not exists"
fi

Он использует встроенную оболочку и программный эхо-статус для stdout и ничего для stderr другой стороны, если команда не найдена, она отображает статус только для stderr.

51
задан James T Snell 12 September 2017 в 18:54
поделиться

2 ответа

You use the error_page property in the nginx config.

For example, if you intend to set the 404 error page to /404.html, use

error_page 404 /404.html;

Setting the 500 error page to /500.html is just as easy as:

error_page 500 /500.html;
40
ответ дан 7 November 2019 в 09:41
поделиться

Вы можете настроить собственную страницу ошибок для каждого блока местоположения в вашем nginx.conf или глобальную страницу ошибок для всего сайта.

Для перенаправления на простую страницу 404, не найденную для определенного местоположения:

location /my_blog {
    error_page    404 /blog_article_not_found.html;
}

Страница 404 для всего сайта:

server {
    listen 80;
    error_page  404  /website_page_not_found.html;
    ...

Вы можете объединить стандартные коды ошибок, чтобы получить одну страницу для нескольких типов ошибок:

location /my_blog {
    error_page 500 502 503 504 /server_error.html
}

Для перенаправления на совершенно другой сервер, при условии, что у вас есть вышестоящий сервер с именем server2, определенный в вашем http-разделе:

upstream server2 {
    server 10.0.0.1:80;
}
server {
    location /my_blog {
        error_page    404 @try_server2;
    }
    location @try_server2 {
        proxy_pass http://server2;
    }

В руководстве можно найти более подробную информацию, или вы можете выполнить поиск в Google по терминам nginx.conf и error_page для реальных примеров в сети.

109
ответ дан 7 November 2019 в 09:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: