IIS 匹配规则但 IIS 重写模块说规则不匹配

IIS matches the rule but IIS rewrite module says the rule doesn't match

我在网站上正确应用规则时遇到问题。

规则是:

(^((?!\/bundles\/).)*[^\/]$)

操作是在末尾附加一个斜线,使用:

<action type="Redirect" url="{R:0}/" redirectType="Temporary" />

我尝试以下 url:

http://example.com:9999/bundles/bundle.js

IIS 将我重定向到 http://example.com:9999/bundles/bundle.js/

但是我去IIS Manager,去IIS Rewrite,select这个规则,去测试,把url放进去,点测试,说不匹配。

如果不匹配,为什么它仍然重定向?

我创建了相同的规则,它正在重定向。因此,它没有按预期工作:您的规则 (^((?!\/bundles\/).)*[^\/]$) matchhttp://example.com:9999/bundles/bundle.js

你的规则有问题。正确的规则是 (^((?!bundles\/).)*[^\/]$)。我在 bundles 之前删除了斜线。因为当请求进入规则时,它正在将规则与路径 bundles/bundle.js (没有开始斜杠)

进行比较