IIS URL重写模块url为小写

时间:2013-08-14 20:13:00

标签: asp.net regex iis url-rewriting lowercase

为了更好的SEO,我们使用URL重写将所有URL转换为小写。我在this 下面的文章中提到了这个。

从URL的角度来看,一切都运行良好,但是当我们检查提琴手时,我们看到很多301重定向。 它看起来像图像,javascript,css,jquery ajax调用,一切都转换成小写。 我试图删除它,并希望只重写aspx扩展名和没有扩展名网址。我试图在比赛中发挥没有任何成功。任何帮助或指导都会被高度评价。

谢谢

编辑: 我当前的规则是

 <rules>

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

2 个答案:

答案 0 :(得分:22)

您可以使用以下内容:

<rule name="LowerCaseRule1" stopProcessing="true">
    <match url="[A-Z]" ignoreCase="false" />
    <action type="Redirect" url="{ToLower:{URL}}" />
    <conditions logicalGrouping="MatchAny">
        <add input="{REQUEST_FILENAME}" pattern="\.aspx$" />
        <add input="{REQUEST_FILENAME}" pattern="\." negate="true" />
    </conditions>
</rule>

只有在其中一个条件为真时才会触发规则:

  • 第一个检查请求的路径(文件名)是否以.aspx结尾。
  • 第二个检查请求的路径(文件名)是否不包含.(因此没有扩展名)

答案 1 :(得分:-8)

在jquery中你可以这样给出

var country=$("#countryid").find('option:selected').text().toLowerCase();

它会起作用:所有值都会以小写形式出现。