。htaccess-重定向到https,但子域除外

问题描述 投票:-1回答:1

我正在尝试将.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 https wildcard-subdomain
1个回答
0
投票

此.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

Demo

© www.soinside.com 2019 - 2024. All rights reserved.