Обычный редирект в Apache не является чем-то необычным. Я приведу пример из файла конфигурации виртуальных хостов, где мы слушаем 80-й порт (http) и делаем перенаправление на 443-й (https):

<VirtualHost *:80>

ServerName domain.com
ServerAlias www.domain.com
Redirect / https://domain.com/

</VirtualHost>

Такой редирект всем хорош, кроме того, что не сохраняется тело запроса.

Т.е. если вы собирались перейти по ссылке вида «http://domain.com/arc?v=14», то ваc просто переадресует на «https://domain.com», запрос вида «/arc?v=14» будет утерян. Сохранить запрос при переадресации очень просто, но нужно задействовать модуль RewriteEngine в Apache. Конфигурация файла виртуальных хостов примет вот такой вид:

<VirtualHost *:80>

ServerName domain.com
ServerAlias www.domain.com
RewriteEngine on
RewriteRule ″^/?(.*)″ ″https://domain.com/$1″ [R=301,L]

</VirtualHost>

Вместо файла конфигурации виртуальных хостов можно использовать .htaccess в качестве альтернативы, если есть необходимость работы с отдельными директориями.