О заголовке content-type
CoDDoC
coddoc на mail.ru
Пн Фев 19 15:18:52 UTC 2018
Доброе время суток!
Есть такой локейшен:
location ~ "^/img/" { internal; }
Естественно, прямой запрос 'GET /img/file.jpg' получает 404
Все хорошо, но нужно вместо стандартной nginx страницы отдать кастомную.
Можно решать разными способами, я решил попробовать через 'return 404 <text>' (минимум внутренних реврайтов/редиректов).
Получилось так (упрощенно):
error_page 404 = @err404;
location @err404 {
return 404 '<!DOCTYPE html> <html> <body> <h1> <center> WTF ? </center> </h1> </body> </html>';
add_header "Content-Type" "text/html; charset=UTF-8" always;
}
Оно работает, одно смущает: дублирование заголовка Content-Type: сперва 'image/jpeg', затем уже 'text/html; charset=UTF-8'
Браузер-то, ясное дело, возьмет по итогу второй заголовок. Но, может, есть какой-либо цивилизованный способ оставить один Content-Type без прикручивания костыля типа headers-more ?
proxy_hide_header не годится - нет проксирования. Отправлять все "не-пойми-какие" запросы на бэкенд - не вижу в этом особого смысла.
Спасибо.
--
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20180219/4c306844/attachment.html>
Подробная информация о списке рассылки nginx-ru