Задача

Требуется создать конфигурацию для веб-сервера nginx, которая обрабатывает запросы и устраняет превышающее количество слешей (// и более) в URL по следующему принципу:

  • Любое количество последовательных слешей в URL считается ошибкой ввода
  • Необходимо настроить редирект, который преобразует URL вида: site.ru//stranitsa или site.ru///kontakty
  • Корректный результат: site.ru/stranitsa или site.ru/kontakty
  • Редирект должен происходит так, чтобы пользователь видел веб-клиент (сервер должен вернуть 301 или 302 код перенаправления)
  • Автоматизировать исправление URL, до того, как запрос будет передан и обработчик Python/PHP/др

Детали реализации

Конфигурация должна обеспечивать решение:

  1. Использовать правила rewrite с использованием Perl-совместимого регулярного выражения (PCRE)
  2. Пример условия: if ($request_uri ~ '//+') - далее редирект на верстяную версий пути (см. документация nginx)
  3. Итог - в браузере/клиенте отобразить путь с ровно 1 слешем
  4. По желанию фиданта: поддерживать работы мультиуровня пути (foo//bar///baz → foo/bar/baz)

Ожидаемый результат (в смысле ответа исполнителя)

Предоставьте:

  • Фрагмент или полный код строки включен в блоке server в файл nginx.conf
  • Или часть конфигурации можно использовать совместно с правилами точного соответствования файлов
  • Обратите внимание, что необходимо защитить от бесконечного цикла редиректа, входящего на пути со слеша

Дополнительные уточнения

Во многих современных CMS (WordPress, Drupal и др.) слеши могут быть причиной “дублей” контента и ошибки в ранжирования пока страниц (SEO). Для унижения такое лучше исправить до систем движка.

Разработка провокационного рекламного макета для товаров красоты

Требуется создать креативный и провокационный рекламный макет для продукта из сферы красоты и здоровья. Макет должен строго соответствовать законодательству РФ и включать все обязательные элементы: бренд, логотип, визуал, слоган, условия акции.