繁体   English   中英

.htaccess - 重定向到 https 子域除外

[英].htaccess - redirect to https except subdomains

我正在尝试配置 .htaccess 以将所有“http”重定向到“https” - 除了子域(但仍包括“www”和“static”)。

例如: http ://abc.com -> https://abc.com

http://www.abc.com -> https://www.abc.com

http://static.abc.com -> https://static.abc.com

HTTP://hello.abc.com - > HTTP://hello.abc.com

HTTP://hi.abc.com - > HTTP://hi.abc.com

HTTP://bye.abc.com - > HTTP://bye.abc.com(请注意,我创建随机子域......因此,我不能排除子域的给定数量)

在这个问题上,我真的把我的头发拉了几个小时。

1,000 感谢您的帮助! 达米安

这个 .htaccess 应该可以完成这项工作

RewriteEngine On
RewriteCond %{SERVER_PROTOCOL} ^http$
RewriteCond %{HTTP_HOST} ^(www|static)\.
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

解释

RewriteCond %{SERVER_PROTOCOL} ^http$如果协议是http (不是 https),则满足条件

RewriteCond %{HTTP_HOST} ^(www|static)\\. 如果子域是wwwstatic协议,则满足条件

这将重定向

http://www.example.com -> https://www.example.com
http://www.example.com?param=value -> https://www.example.com?param=value
http://www.example.com/something -> https://www.example.com/something
http://static.example.com -> https://static.example.com
http://static.example.com?param=value -> https://static.example.com?param=value
http://static.example.com/something -> https://static.example.com/something

但不会重定向

http://hello.abc.com
http://hi.abc.com
http://foo.abc.com

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM