301 редирект на https без www с помощью htaccess

Про редиректы с www и на https в интернете рассказано много. Однако для того, чтобы создать работоспособный 301 редирект с www на сайт без www, нужно учесть один нюанс:
SSL сертификат должен быть действителен для обоих доменов (с www и без).

А вот и рабочий пример кода, который вы можете использовать для настройки редиректа:

RewriteEngine on
 
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
 

Две строки после RewriteEngine on создают переадресацию на сайт без www.

Также убедитесь в том, что у вас настроен редирект с http на https. Это нужно, чтобы у вас была только одна версия сайта, иначе это неблагоприятно скажется на поисковом продвижении.
Такую переадресацию можно выполнить при помощи следующего кода:

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]

Есть также альтернативный вариант:

RewriteCond %{ENV:HTTPS} !on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]

Не забывайте, что в самом верху, перед правилами RewriteCond и RewriteRule должна быть строка RewriteEngine on

В итоге код htaccess, который создает редирект с www на сайт без www и с http на https выглядит так:

RewriteEngine on
 
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
 
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]

Для htaccess есть сборник сниппетов, на все случаи жизни: https://github.com/phanan/htaccess (en)

Чтобы не возникло проблем с индексацией поисковыми системами, изучите соответствующие разделы:

Yandex: Переход сайта на HTTPS

Google: Перенос сайта с изменением URL

Успехов! Сработал ли у вас редирект, напишите в комментариях.