IIS重写规则不适用于其他组,但测试通过了

时间:2019-10-15 17:39:20

标签: url-rewriting iis-10

我在IIS(v10)下面使用正则表达式重写请求,但是在一种情况下无法处理另一种情况,只会抛出404。

^([a-z]{2}\/)?([a-z]{2}(-[a-z]{2,3})?\/)?(properties)(.*)$

it / properties / xxxxxxxxxxxxx 匹配时,它不适用于 it / en / properties 以及我正在使用IIS“测试模式”进行的所有测试按钮成功通过。

另一种情况是,第二种情况只是添加到规则中,我认为可能涉及某种服务器缓存。

下面是正则表达式正在使用的正则表达式,您可以看到所有情况都匹配。

https://regex101.com/r/boFY2N/1

致谢

更新: 我还应用了一个更通用的正则表达式'。(/ properties)。结果是,重写一个文件夹的请求是相同的,而不是重写2个文件夹的URL。在下面,您可以找到两个请求的IIS日志。

###成功200,请注意它已达到ARR缓存

2019-10-16 09:50:35 127.0.0.1 GET /it/properties/commerciali/da-affittare/regno-unito/all-types/qualsiasi-piano r=ONUR2&X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=78d73863-413c-4cd6-bc08-6ec1e1090c6d&SERVER-STATUS=200 80 - 127.0.0.1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/77.0.3865.120+Safari/537.36 - 200 0 0 187

###完全没有达到ARR的水平

2019-10-16 09:51:06 127.0.0.1 GET /it/en/properties/commerciali/da-affittare/regno-unito/all-types/qualsiasi-piano r=ONURE 80 - 127.0.0.1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/77.0.3865.120+Safari/537.36 - 404 0 0 46

当域后有2个文件夹而不是一个总是失败时,我注意到另一件事。甚至对于/ sssss / sssss / properties,当我使用通用规则对其进行测试时。

是否有其他设置可以阻止首先应用重写规则。我检查了网站和机器的所有规则,但什么都没注意到。

0 个答案:

没有答案