У меня есть общая проблема, связанная с желанием перенаправить запросы для определенного каталога с ограниченным доступом с http на https, чтобы учетные данные для входа пользователей отправлялись безопасным способом.
Однако у меня не включен mod_rewrite на моем сервере. У меня есть только mod_alias. Это означает, что я должен использовать команду RedirectMatch. Я не могу использовать обычные решения, которые используют RewriteCond и RewriteRule.
(Примечание о политике: я мелкий специалист по обслуживанию дочерних сайтов в очень большой организации, поэтому администраторы сервера вряд ли захотят изменить конфигурацию сервера для меня!)
Следующая строка работает, но образует бесконечный цикл (потому что переписанный URL все еще перехватывается начальным регулярным выражением):
RedirectMatch permanent ^/intranet(.*)$ https://example.com/intranet$1
Один из моих внутренних ИТ-специалистов предложил мне избежать бесконечного цикла, перемещая файлы в новый каталог с новым именем (например, / intranet2 /). Это кажется мне довольно уродливым. И люди все еще могли случайно / преднамеренно вернуться к небезопасной связи, посетив http://example.com/intranet2/ напрямую.
Тогда я попробовал это, но это не сработало:
RedirectMatch permanent ^http:(.*)/intranet(.*)$ https://example.com/intranet$1
Я подозреваю, что это не сработало, потому что первым аргументом должен быть путь к файлу из корневого каталога, поэтому он не может начинаться с "http:".
Итак: есть лучшие идеи, как это сделать?