Apache .htaccess,重定向到主域上的HTTPS和子域上的HTTP

Apache .htaccess,重定向到主域上的HTTPS和子域上的HTTP,apache,.htaccess,redirect,mod-rewrite,https,Apache,.htaccess,Redirect,Mod Rewrite,Https,现在,我的.htaccess文件中有以下代码 # redirect to https www RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^(?:www\.)(builders-steps\.ru)$ [NC] RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L] # redirect to http subdomain RewriteCond %{HTTPS} on RewriteCo

现在,我的.htaccess文件中有以下代码

# redirect to https www
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)(builders-steps\.ru)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L]

# redirect to http subdomain
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^((?!www).+\.builders-steps\.ru)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
它工作正常,但主域现在可以在https和http上使用,但我需要主域只能在https上工作。子域可以很好地使用当前代码(仅在HTTP上)

你们能帮我提个建议吗


谢谢

不确定它是否有效。无法在此尝试代码

要重写所有主域,请尝试首先重定向 子域,如果它被告知(更高的限制性),以及以后,如果它没有 如果已应用,您将检查主域是否为


不幸的是,此解决方案可能重复不起作用Alejandro,谢谢您的建议。不幸的是,它不起作用。这会导致错误:“重定向太多”,子域根本不起作用。问题是如何重写代码,以便
http://builders-steps.ru
始终在
https://builders-steps.ru
同时
https://msk.builders-steps.ru
始终在
http://msk.builders-steps.ru
这是完整的htaccess文件-
# redirect to http subdomain
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^((?!www).+\.builders-steps\.ru)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTP_HOST} ^(?:www\.)(builders-steps\.ru)$ [NC]
RewriteCond %{SERVER_PORT} !443 
RewriteRule ^(.*)$ https://www.builders-steps.ru/$1 [R,L]