Почему вы для админки не прописали везде https?
Не просто беда, а огромнейшая! Вы пробовали включать мозги когда копипастили найденное в интернете? Такое впечатление, что вы даже не пытались прочитать, что копипастите!
Пойдём по порядку. Самое безобидное:
# www -> ssl non www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Тут всё было бы идеально, если б не 2 нюанса: 1. у вас https, а здесь редирект на http, 2. в комментарии (первая строка) указано, что это редирект на ssl версию без www, а ssl = https (в данном контексте). То есть, редирект и несовсем правильный и комментарию не соответствует.
Следующее уже веселее:
# non ssl -> ssl
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?(mysitename\.ru)
RewriteRule ^ https://%2%{REQUEST_URI}
Как вы думаете, что такое "mysitename\.ru"? Мне кажется, не нужно быть специалистом по .htaccess, чтоб догадаться, что здесь нужно было вписать имя вашего домена.
Теперь переходим к тому, что вы скопипастили в конец файла.
Прежде всего, если вы на этом форуме попытались бы найти информацию про редиректы для https, то в каждой теме по несколько раз прочитали бы, что все редиректы должны идти сразу после
RewriteBase /
Мне приходится это повторять снова и снова, а люди снова и снова пихают всё куда вздумается, а потом жалуются на проблемы.
Теперь смотрим на вот этот блок:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.artmassa\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/robots.*
RewriteRule ^(.*)$ https://artmassa.com/$1 [R=301,L]
Зачем тут "RewriteEngine On"? Эта директива уже есть в файле и одного раза вполне достаточно (это к вопросу о слепом копипасте).
Теперь смотрим на следующие строки - это редирект с www на версию без www. При чём редирект правильный (при условии, что здесь именно ваш домен, а не опять слепой копипаст), но зачем вы это добавили, если у вас уже и так есть в файле попытка такого редиректа? Да, тот редирект у вас не работает. Ну так удалили бы и добавили этот, а не пихали один за другим пока что-нибудь таки не заработает.
В общем, удалите всё из вашего .htaccess и впишите это:
Options +FollowSymlinks
# Prevent Directoy listing
Options -Indexes
# Prevent Direct Access to files
<FilesMatch "\.(tpl|ini|log)">
Order deny,allow
Deny from all
</FilesMatch>
# SEO URL Settings
RewriteEngine On
RewriteBase /
# www -> ssl non www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
# non ssl -> ssl
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^(.+)/$
RewriteRule ^(.*)/$ /$1/?%1 [R=301,L]
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
Большая часть этого кода у вас уже есть. Я просто убрал лишнее и подправил ошибки.
И в конфиге админки пропишите везде https.