0

我在 url 重写模块中有一条规则,如下所示

<rule name="articleSectionUrl">
  <match url="(.+)/([0-9]+)/(.+)/([0-9]+)" />
  <action type="Rewrite" url="article.aspx?articleid={R:4}" appendQueryString="false" />
</rule>

它可以正常工作,因为它检测到以下类型的文章网址:
http ://www.emusician.com/news/0766/spl-launches-usb-and-madi-interfaces/151461

很好,但它也检测到以下类型的 url,不幸的是,这是图像路径: http ://www.emusician.com/Portals/9/SlideShowThumbnails/15/ad300x250_02.gif

谁能告诉我如何避免这种情况。

4

1 回答 1

0

谢谢大家,@Aquillo 根据您的正则表达式,它只会限制我在正则表达式中提供的扩展名的文件,这意味着我总是必须在正则表达式中为我想忽略的 url 提供扩展名,所以这是我的完整解决方案问题。

UrlRewrite 模块<conditions>下有一个元素<rule>,我们限制了 url 中的任何类型的文件。

这是完整的解决方案:

<rule name="articleSectionUrl">
          <match url="(.+)/([0-9]+)/(.+)/([0-9]+)" />
          <action type="Rewrite" url="article.aspx?articleid={R:4}" appendQueryString="false" />
            <conditions>
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            </conditions>
        </rule>

谢谢你们帮助我。

于 2013-05-07T03:48:04.337 回答