Apache .htaccess,重定向到主域上的HTTPS和子域上的HTTP
现在,我的.htaccess文件中有以下代码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
# 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]