htaccess将域重定向到https,将子域重定向到https,将非域名重定向到www

时间:2016-06-03 12:53:05

标签: .htaccess redirect

我希望这样做:

强制https为我的主域名。

http到https://wwwhttp://wwwhttps://www

但不适用于子域名

http://subdomain.domain.comhttps://subdomain.domain.com

有人可以帮助我,我找不到这个

1 个答案:

答案 0 :(得分:7)

您可以在根.htaccess中使用它:

RewriteEngine on 

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

# redirect to http subdomain
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^((?!www).+\.domain\.com)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]

[编辑]

RewriteEngine on 

# redirect no-www to www only main domain, not with subdomain
RewriteCond %{HTTP_HOST} ^(domain\.com)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L]

# redirect http to https all domain
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]