IIS URL重写入站规则处理查询字符串

时间:2016-12-26 10:25:14

标签: c# iis url-rewriting

我无法知道如何将查询字符串传递给自定义网址重写模块。我开发了一个自定义url重写模块,它将接收完整的url(路径+查询字符串)并重写一些查询字符串值。

在入站规则中使用查询字符串时,如何将查询字符串传递给自定义模块?

规则评估开始

RuleName
ReverseProxyInboundRule1 

RequestURL
OpenDocument/opendoc/openDocument.jsp 

QueryString
sIDType=CUID&iDocID=AbuyCUsQ8L5CskKTqgOSsyw&encoded=9001306c-317f-4332-b03f-44cca57918c2 

PatternSyntax
0 

StopProcessing
true 

RelativePath
/APP.Web/ 

PatternSyntax
Regex 

模式匹配

Pattern
BOE/(.*) 

Input
BOE/OpenDocument/opendoc/openDocument.jsp 

Negate
false 

Matched
true 

因为如果您看到上方/下方,我的自定义模块不会收到查询字符串,只会收到路径APP.Web/BOE/OpenDocument/opendoc/openDocument.jsp

网址已更改

OldUrl
/APP.Web/BOE/OpenDocument/opendoc/openDocument.jsp?encoded=9001306c-317f-4332-b03f-44cca57918c2 

NewUrl
https://server/BOE/OpenDocument/opendoc/openDocument.jsp

1 个答案:

答案 0 :(得分:0)

好的,我自己找到了答案。您可以在入站或出站规则“操作”部分中引用自定义URL重写模块。我不得不将查询字符串作为输入包含在我的自定义模块中,如下所示。其中TOKEN是我必须添加到IIS以根据我的要求进行处理的自定义模块。

重写网址

http://SERVER/BOE/{TOKEN:{R:1}?{QUERY_STRING}}