我在我的网站上正确应用规则时遇到了问题。
规则是:
(^((?!\/bundles\/).)*[^\/]$)
操作是使用以下方法在其末尾添加斜杠:
<action type="Redirect" url="{R:0}/" redirectType="Temporary" />
我尝试以下网址:
http://example.com:9999/bundles/bundle.js
IIS将我重定向到http://example.com:9999/bundles/bundle.js/
但是我转到IIS管理器,转到IIS重写,选择此规则,进行测试,将网址放入,单击测试,并说它不匹配。
如果它不匹配,为什么它仍然会重定向?
答案 0 :(得分:0)
我创建了相同的规则,它正在重定向。因此,它按预期运作:您的规则(^((?!\/bundles\/).)*[^\/]$)
匹配与http://example.com:9999/bundles/bundle.js
您规则中的问题。正确的规则是(^((?!bundles\/).)*[^\/]$)
。我在bundles
之前删除了斜杠。因为当请求进入规则时,它正在将规则与路径bundles/bundle.js
进行比较(不启动斜线)