I know this has been answered in other posts (https://stackoverflow.com/a/25196859/730378 and https://stackoverflow.com/a/20915595/730378), but I've tried them both and neither are working for me.
Using the htaccess code below works to redirect to https for the root domain and the aliases, but the subdomain keeps redirecting and using https for the subdomain as well, which I don't want.
####
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !=subdomain.rootdomain.ca [NC,OR]
RewriteCond %{HTTP_HOST} ^(www.)?rootdomain.ca$ [NC,OR]
RewriteCond %{HTTP_HOST} ^(www.)?rootdomain.biz$ [NC,OR]
RewriteCond %{HTTP_HOST} ^(www.)?rootdomain.co$ [NC,OR]
RewriteCond %{HTTP_HOST} ^(www.)?domainalias.biz$ [NC,OR]
RewriteCond %{HTTP_HOST} ^(www.)?domainalias.ca$ [NC]
RewriteRule (.*) https://rootdomain.ca/$1 [R=301,L]