我需要将www和非www重定向到https。我在无处不在的stackoverflow,但无法找到我正在寻找什么。如何使用htaccess将www和非www重定向到特定域的https请使用htaccess
的规则是:
- example.com和www.example.com和https://example.com 必须重定向到https://www.example.com
- 它必须匹配的域名和扩展example.com。它不能是一个外卡也 比赛abc.com或123.com或example.net或其他任何
- 它必须比赛只WWW子域。它不能是野生卡, 也匹配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”
感谢
不幸的是,这仍然会重定向不是“example.com”的域名,也会重定向不是“www”的子域名。 它应该只能重定向example.com或www.example.com。 – nhiik
@Nhiik:我已经更新了规则,将** example.com **替换为RewriteCond中的** yourdomain.com **,并将** www.example.com **替换为** www.yourdomain.com **该规则的目标 – starkeen
感谢但仍不够具体。它重定向到https,但它的范围仍然太宽。如果我输入test.example.com,它仍会被重定向到https://www.example.com。这不应该发生。另外,如果我将CNAME example.net或testurl.com添加到服务器,它仍会被重定向到https://www.example.com。这不应该发生。只有example.com的www子域名和基本域名才能通过。 – nhiik