我将所有网站的非www版本的域重定向到www版。
然而,副作用是它还使用www
重定向子域e.g。 api.example.com到www.api.example.com
这不是我想要的。我需要所有带子域的网站都不要添加www。
以下是我目前的规则:
{{1}}
如果输入不以'www'开头并且它不是子域,是否可以制定仅重定向到www.example.com的规则?
任何带子域的东西都不得添加www
请帮助,因为我已经尝试了两天没有成功。
提前谢谢!!
答案 0 :(得分:2)
您需要将正则表达式更改为:^[^.]*\.[^.]{2,3}(?:\.[^.]{2,3})?$
,此regexp将仅捕获二级域名。
我从这个回答中得到了它:https://stackoverflow.com/a/21174423/1954204
最后你的规则就是这样:
<rule name="non-www to www and https" enabled="true" stopProcessing="false">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^[^.]*\.[^.]{2,3}(?:\.[^.]{2,3})?$" />
</conditions>
<action type="Redirect" url="https://www.{HTTP_HOST}" />
</rule>