如何使用 htaccess 将特定域的 www 和非 www 重定向到 https

2024-02-04

我需要将 www 和非 www 重定向到 https。我在 stackoverflow 上到处找过,但找不到我想要的东西。

规则是:

  • example.com 和 www.example.com 以及https://example.com https://example.com必须重定向到https://www.example.com https://www.example.com
  • It must匹配域名和扩展名 example.com。它cannot是一个通配符,也 匹配 abc.com 或 123.com 或 example.net 或其他任何内容
  • It must仅匹配 www 子域。它cannot是一个通配符 也匹配 sub.example.com 或 thisisademo.example.com

我目前有:

RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]

但是,如果有人输入 www.example.com,它仍然会转到 http 版本而不是 https。

我认为我在这里真正需要的是 RewriteCond 正则表达式来完全匹配并且仅匹配“example.com”和“www.example.com”

Thanks


您可以使用以下规则将非 www 或 www 重定向到https://www https://www只需一次重定向

#redirect http non-www to https://www
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
#redirect https non-www to www
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]

在测试此规则之前清除浏览器的缓存。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 htaccess 将特定域的 www 和非 www 重定向到 https 的相关文章

随机推荐