• Почему происходит двойной редирект .htaccess?

    @dodo512
    Этот редирект выполняет mod_dir. По умолчанию включен DirectorySlash.
    Для запросов к существующим папкам автоматически добавляется слеш.
    А http:// вместо https:// из-за настроек связки Nginx + Apache.

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*[^/])$ https://%{HTTP_HOST}/$1/ [L,R=301]

    Тут вместо проверки что это не файл !-f нужна проверка что это существующая папка -d.
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^(.*[^/])$ https://site.ru/$1/ [R=301,L]

    Ставить сразу после RewriteEngine On.
    Ответ написан
    1 комментарий