Соостветственно нужно
1 - с www на без www
Перво-наперво проверь DNS записи регистратора. В них домен второго уровня
site.ru и субдомен (третьего уровня) www.site.ru должны быть с одним IP.
Затем в конфиге вируального хоста настрой
ServerName site.ru
ServerAlias www.site.ru
В принципе этого должно хватить, т.е. по обоим адресам будет открываться одно и тоже. Это не редирект пока, но будет открываться одна и та же страница.
Можно ли его убрать и настроить редирект только через htaccess
так делать не надо, правильным вариантом является правка конфига виртуального хостинга...
2 - и c http на https
для этого тебе нужно получить серитфикат SSL, например через Let's encrypt. Для этого есть такой инструмент - certbot, который получает сертификат и автоматом настраивает редиректы в конфигах апача.
Он добавляет виртуальный хост
<VirtualHost *:443>
- без этого редирект на HTTPS c HTTP работать не будет, и добавляет в раздел
<VirtualHost *:80>
правила редиректа
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.site.ru [OR]
RewriteCond %{SERVER_NAME} =site.ru
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
Для этого надо чтобы у апаче еще был включен плагин редиректа
sudo a2enmod rewrite
sudo service apache2 restart