Как использовать try_files для обхода ошибки HTTP 404 - PullRequest
0 голосов
/ 08 ноября 2019

Я бы хотел проанализировать ответ HTTP-кода ошибки 404 (не найден) клиенту, имея какой-то статический контент вместо страницы 404. Может ли это быть сделано по сценарию откатов, с использованием try_files и с ответом HTTP 200 клиенту?

Если запрос сделан для / blahblah, первое местоположение сначала получит запрос ипопробуйте найти файл с именем blahblah в каталоге / var / www / main.

Если запрос не может его найти, он выполнит поиск файла с именем blahblah.html . Затем он попытается определить, существует ли каталог с именем blahblah / в каталоге / var / www / main.

Если все эти попытки не будут выполнены, он будет перенаправлен в /fallback/index.html. Это вызовет другой поиск местоположения, который будет перехвачен вторым блоком местоположения. Это послужит файлу /var/www/another/fallback/index.html.

Возможно ли это с помощью такой конфигурации?

root /var/www/main;
location / {
    try_files $uri $uri.html $uri/ /fallback/index.html;
}
location /fallback {
    root /var/www/another;
}
...