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\/).)*[^\/]$)
match 到 http://example.com:9999/bundles/bundle.js
你的规则有问题。正确的规则是 (^((?!bundles\/).)*[^\/]$)
。我在 bundles
之前删除了斜线。因为当请求进入规则时,它正在将规则与路径 bundles/bundle.js
(没有开始斜杠)
进行比较
我在网站上正确应用规则时遇到问题。
规则是:
(^((?!\/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\/).)*[^\/]$)
match 到 http://example.com:9999/bundles/bundle.js
你的规则有问题。正确的规则是 (^((?!bundles\/).)*[^\/]$)
。我在 bundles
之前删除了斜线。因为当请求进入规则时,它正在将规则与路径 bundles/bundle.js
(没有开始斜杠)