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

时间:2017-07-05 16:47:07

标签: 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
RewriteCond %{HTTP_HOST} ^((?!www).+\.builders-steps\.ru)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]

并且它工作正常,但主域现在可用于https和http,但我需要主域只能在HTTPS上使用。子域正常使用当前代码(仅在HTTP上)。

你们可以帮我提一下建议吗?

感谢。

1 个答案:

答案 0 :(得分:0)

不确定它是否有效。不能在这里尝试代码。

  

要重写所有主域名,请先尝试重定向   子域如果被通知(限制性更高),以后,如果不是   应用后,您将检查是否为主域名。

# 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]