Редирект только главной страницы htaccess: htaccess перенаправление только главной страницы

.*$ http://%{HTTP_HOST}/ [R=301,L]

Для HTTPS следует во второй строке заменить протокол на https://

В первой строке правила мы проверяем чтобы запрашивалась только index.php без GET-параметров (те, которые идут после знака вопроса в URL).
Это нужно делать потому, что при обработке ЧПУ, многие движки перенаправляют все запросы на свой входной скрипт в виде подобной строки:
/index.php?q=somepage
Если этого не учесть, мы можем получить бесконечный редирект на главную с любой страницы.
Мы, также, делаем редирект только при запросе методом GET, чтобы не получить обнуления POST-данных, к примеру, при отправке их на /index.php вместо /.

Первую строку правила можно корректировать под конкретный случай.
Например, чтобы решить 1-й и 2-й варианты для ModX, правило можно переписать следующим образом:

apache# example.com/home OR example.com/index.php OR example.com/index.
[A-Z]+\s(.*/)/+\sHTTP/[0-9.]+$ RewriteRule .* http://%{HTTP_HOST}/%1 [R=301,L]

Тут сложность в том, что сервер сам преобразует все повторяющиеся слеши в один еще до прохода по правилам в .htaccess. По этой причине мы работаем с полной строкой HTTP-запроса, которую браузер передал серверу.
В первой строке мы проверяем чтобы переменная %{HTTP_HOST} не была пуста, т.е. содержала домен.
Во 2-й и 3-й строках мы проверяем наличие идущих подряд слешей в начале или конце пути.
Если эти условия подходят мы делаем редирект, собирая правильный URL без лишних слешей.
 

Дополнительная информация

Куда вставлять правило редиректа в файле .htaccess?
Правила безопасности при редактировании .htaccess
Как проверить редирект

Секреты настройки файла .htaccess | Stebnev Studio