Nginx Пользовательская страница 404 завершается ошибкой, если находится в более высоком каталоге - PullRequest
1 голос
/ 05 апреля 2020

Я пытаюсь создать пользовательскую страницу 404 с Nginx. Мой nginx .conf файл выглядит следующим образом:

http {
    server {
        location / {
            root /nginx/html;
        }

        error_page 404 /custom_404.html;
        location = /custom_404.html {
            root /nginx/html;
            internal;
        }
    }
}

Когда я проверяю с помощью URL-адреса, например "/ page_that_doesnt_exist", он отлично работает.

Но если я добавлю конечный "/ «, например,« / page_that_doesnt_exist / »или« / page_that_doesnt_exist / and_more_stuff »не удается, возвращая пустой экран (не страница по умолчанию nginx 404).

Когда я проверяю сообщения сервера, он сообщает мне следующее:

"GET /page_that_doesnt_exist/ HTTP/1.1" 404 280 "-" 

[error] 6#6: *3 open() "/nginx/html/page_that_doesnt_exist/error404.js" failed (2: No such file or directory), client: 172.17.0.1, server: , request: "GET /page_that_doesnt_exist/error404.js HTTP/1.1", host: "localhost:8080", referrer: "http://localhost:8080/page_that_doesnt_exist/"

"GET /page_that_doesnt_exist/error404.js HTTP/1.1" 404 280 "http://localhost:8080/page_that_doesnt_exist/" 

Я имею в виду, что вместо nginx поиска моего файла "custom_404. html" в моей папке "nginx / html" он добавляет "page_that_doesnt_exist" в каталог. Таким образом, теперь он ищет в «nginx / html / page_that_doesnt_exist /» и не находит файл «custom_404. html» в этом каталоге.

Что я здесь не так делаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...