На этот вопрос уже есть ответ здесь:
В заголовке http есть поле с именем accept
, поэтому клиент может указать предпочтительные формат.
Как настроить nginx
для возврата страницы уценки
в случае запроса в виде простого текста и обработки с помощью некоторой реализации уценки в случае запроса HTML?
Частичное решение (и самый простой способ) - внутреннее перенаправление. Вы, вероятно, захотите, чтобы они были внутри error_page
местоположения
, чтобы он активировался только тогда, когда страницы иначе не найдены.
error_page 404 = @404;
location @404 {
if ($http_Accept ~ "text/plain") {
rewrite ^ $uri.text-plain break;
}
if ($http_Accept ~ "text/html") {
rewrite ^ $uri.text-html break;
}
location ~ \.text-plain$ {
…
}
location ~ \.text-html$ {
…
}
}
При этом не будут учитываться приоритеты, указанные в Заголовок Accept
, а также явный пример «text / plain» и «text / html» также могут быть несколько бесполезными в существующих браузерах - я не уверен, какие пользовательские агенты будут указывать text / plain
в их заголовке Accept
.
В прежние времена Accept
был полезен для решения, использовать ли .gif
или .png
изображений,