1

我的 web.config 中已经有以下代码,它几乎可以满足我的需求。

<rewrite>
  <rules>
    <rule name="Canonical Host Name" stopProcessing="true">
      <match url="(.*)" />
      <conditions logicalGrouping="MatchAll">
        <add input="{HTTP_HOST}" pattern="^www.mysite.com$" negate="true" />
      </conditions>
      <action type="Redirect" url="{MapSSL:{HTTPS}}www.mysite.com/{R:1}" redirectType="Permanent" />
    </rule>
  </rules>
  <rewriteMaps>
    <rewriteMap name="MapSSL" defaultValue="OFF">
      <add key="ON" value="https://" />
      <add key="OFF" value="http://" />
    </rewriteMap>
  </rewriteMaps>
</rewrite>

我所看到的只是缺少一个元素。url 的查询元素将保持原样 - 混合/大写 - 如何确保所有 url 都是小写?

4

1 回答 1

1

您可以添加小写规则。

<rule name="LowerCaseRule" patternSyntax="ExactMatch" stopProcessing="true">
  <matchurl="[A-Z]" ignoreCase="false"/>
  <actiontype="Redirect" url="{ToLower:{URL}}"/>
</rule>

它是默认模板的一部分,在搜索引擎优化 (SEO)模板下,选择强制小写 URL

于 2013-09-10T16:52:49.027 回答