非www到IIS的IIS重写规则不起作用

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

[我们有一堆使用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>
iis url-rewrite-module
1个回答
0
投票
  1. 确保您具有最新的URL重写扩展名。https://www.iis.net/downloads/microsoft/url-rewrite
  2. 测试结果之前,请清除本地缓存。我们最好在一个私有窗口中进行验证。

此外,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>

随时让我知道问题是否仍然存在。

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