Url web.config中的IIS重写规则

Url web.config中的IIS重写规则,url,iis,rewrite,Url,Iis,Rewrite,我的web.config文件中有以下规则: <rule name="Reviews SEO Redirect" stopProcessing="true"> <match url="www.mysite.us/reviews/Manufacturer-([^~]*)-([^~]*)-([^~]*)" /> <action type="Redirect" redirectType="Permanent" url="www.mysite.us/reviews/{R:1}

我的web.config文件中有以下规则:

<rule name="Reviews SEO Redirect" stopProcessing="true">
<match url="www.mysite.us/reviews/Manufacturer-([^~]*)-([^~]*)-([^~]*)" />
<action type="Redirect" redirectType="Permanent" url="www.mysite.us/reviews/{R:1}" />
</rule>

如果我去,我会得到预期的内容。如果我转到原始URL,它将调出我在Drupal的视图模块中创建的默认/reviews视图。而且它根本不会改变浏览器窗口中的URL。所以感觉好像是忽视了规则,或者我把比赛搞错了

我使用了一个URL重写编辑器来测试这个规则,它看起来像我想要的那样解析出来,但是当我在我的网站上点击一个带有URL结构的页面时,什么都没有发生。所以我想知道我错过了什么


有什么建议吗?

匹配url不包含主机名。其内容应如下:

<rule name="Reviews SEO Redirect" stopProcessing="true">
  <match url="reviews/Manufacturer-([^~]*)-([^~]*)-([^~]*)" />
  <action type="Redirect" redirectType="Permanent" url="www.mysite.us/reviews/{R:1}" />
</rule>


显示URL是如何分解的。测试功能的问题在于,它没有将值缩减到IIS传入的值,最终输入的是您期望的值。因此它是匹配的。

谢谢Beavel。这很有帮助。不过我还是在挠头。我为任何以html()结尾的URL添加了我认为是一个简单的测试规则,但仍然没有得到任何关于重定向的信息。我将继续阅读您提供的链接。您也可以尝试
。此外,查询字符串位于url上,因此如果您的url包含查询字符串,则将取消匹配。