ドメインをキャプチャして、RewriteRule で使用できます。HTTP_REQUEST は置換部分では使用できませんが、RewriteCond ディレクティブでのみ使用できます。
よくわかりませんが、これを 2 つの.htaccess
ファイルに分割してみてください。これはメインディレクトリに入ります
RewriteEngine On
# remove www. from HTTPS requests
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.(primary\.mobi)$ [NC]
RewriteRule .* https://%1/$0 [R,L]
# redirect HTTP requests to HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)?(primary\.mobi)$ [NC]
RewriteRule .* https://%1/$0 [R,L]
これは.htaccess
、サブドメイン フォルダー内の
RewriteEngine On
# remove www. from HTTP requests
RewriteCond %{HTTP_HOST} ^www\.(subdomain\.com)$ [NC]
RewriteRule .* http://%1/$0 [R,L]
# redirect HTTPS requests to HTTP
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^(?:www\.)?(subdomain\.com)$ [NC]
RewriteRule .* http://%1/$0 [R,L]
ブラウザは 301 の結果をキャッシュし、テストをより難しくするため、301なしでルールをテストします。R=301
ルールに満足するまで notを追加します。
Canonical Hostnamesでは、いくつかの代替案が説明されています。特に、仮想ホストを使用する最初のものは有望に見えます
<VirtualHost *:80>
ServerName www.primary.mobi
Redirect / https://primary.mobi/
</VirtualHost>
<VirtualHost *:80>
ServerName primary.mobi
</VirtualHost>
<VirtualHost *:80>
ServerName www.subdomain.com
Redirect / http://subdomain.com/
</VirtualHost>
<VirtualHost *:80>
ServerName subdomain.com
</VirtualHost>
これが実現可能かどうかはわかりませんが、試してみてください。