Saya yakin jawaban teratas berhasil mengalihkan non-www ke www (mis: mysite.com -> www.mysite.com ), tetapi tidak memperhitungkan subdomain wildcard, yang menghasilkan:
random.mysite.com -> www.random.mysite.com
Inilah solusi dengan / tanpa HTTPS
HTTP
RewriteEngine On
RewriteCond %{HTTP_HOST} !www.mysite.com$ [NC]
RewriteRule ^(.*)$ http%{ENV:protossl}://www.mysite.com/$1 [L,R=301]
HTTP / HTTPS
RewriteEngine On
RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ - [env=protocol:https]
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ - [env=protocol:http]
RewriteCond %{HTTP_HOST} !www.mysite.com$ [NC]
RewriteRule ^(.*)$ %{ENV:protocol}://www.mysite.com/$1 [L,R=301]
* catatan: Saya belum menguji https karena saat ini saya tidak memiliki sertifikat untuk diuji, tetapi jika seseorang dapat memverifikasi atau mengoptimalkan apa yang saya miliki, itu akan luar biasa.