[我们有一堆使用Flex托管在IIS中的网站。每个都有很多重写/重定向规则。其中之一现在需要重写规则,才能将非www网址定向到www网址。已经从包括其他SO问题在内的各个站点尝试了不少流行的解决方案。我最后尝试的方法如下,没有太多用处:
<rule name="Redirect to WWW" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^your.domain.name$" />
</conditions>
<action type="Redirect" url="http://www.your.domain.name/{R:0}" redirectType="Permanent" />
</rule>
此外,Failed Request Tracing
是用于解决请求处理失败的强大工具。 FRT
可与URL重写模块一起使用,以跟踪如何将重写规则应用于请求URL。https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/using-failed-request-tracing-to-trace-rewrite-rules
最后,请尝试以下配置。
<rule name="Force www" enabled="true" stopProcessing="false">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^example\.com$" />
</conditions>
<action type="Redirect" url="https://www.example.com{REQUEST_URI}" />
</rule>
随时让我知道问题是否仍然存在。