Ожидаемый результат: Оказание консультации backend-разработчику. Работа с проектом на данном этапе не требуется.
Задача: Настройка 404 кода ответа сервера для несуществующих или битых ссылок с неглавных зеркал без 301 редиректа для веб-сайта на asp.net.
Требуемые навыки: - работа с проектами на asp.net - минимальные знания DevOps по настройке сервера (настройка IIS)
Описание: Основное зеркало сайта: https://www.website.com/.
В web.config прописаны следующие правила редиректов:
- слэш на конце URL (с website.com на website.com/)
- на www (с website.com/ на www.website.com/)
- с протокола http на https (с http://www.website.com/ на https://www.website.com/)
На текущий момент 404 ошибка отрабатывает по следующему правилу:
1. Если запрашиваемая страница существует, то редиректы отрабатывают по правилам выше (с неосновного зеркала на основное). Пример: при обращении к странице website.com/test/page-1/ (её не существует) сразу же возвращается 404 статус (то есть все в порядке)
2. Если страница несуществующая и содержит элементы не основного зеркала, то сначала отрабатывает 301 редирект (например, с website.com на website.com/), а только затем - ошибка 404 (page not found). Пример: если запрос происходит с website.com/test/page-1 (без слэш на конце), то сначала произойдет 301 редирект на страницу основного зеркала website.com/test/page-1/, а только потом вернется 404 ошибка.
Необходимо настроить: Чтобы все несуществующие страницы (на любом уровне вложенности и без учета «/» на конце URL-адреса) отдавали код ответа сервера 404 (без 301 редиректов).