在 IIS 中用大括号围绕查询字符串值重写 URL
Rewrite a URL with curly brackets around a query string value in IIS
如何使用 IIS 替换 URL 的查询字符串值?
我想要做的就是将 ListId 中的值从旧值更改为新值。
旧ListId值:7898D8D3-7FDC-427C-B81D-AE95ADA03F07
新建 ListId 值:32992B8E-905E-47CA-BAB2-846D3E5D399F
来源URL:
/sites/techopskb/_layouts/listform.aspx?PageType=4&ListId={7898D8D3-7FDC-427C-B81D-AE95ADA03F07}&ID=5859&ContentTypeID=0x0100D98D0B04DDCDF84C872D58FFE6AA6B84
目标 URL:
/sites/techopskb/_layouts/listform.aspx?PageType=4&ListId={32992B8E-905E-47CA-BAB2-846D3E5D399F}&ID=7537&ContentTypeID=0x0100D98D0B04DDCDF84C872D58FFE6AA6B84
花括号让我头疼。我试过表达式中的 %7B
和 %7D
,但 IIS 不喜欢它。 (顺便说一句-这是一个 SharePoint 2010 网站,IIS v7.5)
谢谢。
您需要使用 {UrlDecode:%7B} 。 See here
因此您的重写规则将如下所示
<rule name="ModifyQueryString" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{QUERY_STRING}" pattern="(.*)listid=\{7898D8D3-7FDC-427C-B81D-AE95ADA03F07\}(.*)" />
</conditions>
<action type="Redirect" url="http://example.com/sites/techopskb/_layouts/listform.aspx?{C:1}&listid={UrlDecode:%7B}32992B8E-905E-47CA-BAB2-846D3E5D399F{UrlDecode:%7D}{C:2}" appendQueryString="false" />
</rule>
如何使用 IIS 替换 URL 的查询字符串值? 我想要做的就是将 ListId 中的值从旧值更改为新值。
旧ListId值:7898D8D3-7FDC-427C-B81D-AE95ADA03F07
新建 ListId 值:32992B8E-905E-47CA-BAB2-846D3E5D399F
来源URL:
/sites/techopskb/_layouts/listform.aspx?PageType=4&ListId={7898D8D3-7FDC-427C-B81D-AE95ADA03F07}&ID=5859&ContentTypeID=0x0100D98D0B04DDCDF84C872D58FFE6AA6B84
目标 URL:
/sites/techopskb/_layouts/listform.aspx?PageType=4&ListId={32992B8E-905E-47CA-BAB2-846D3E5D399F}&ID=7537&ContentTypeID=0x0100D98D0B04DDCDF84C872D58FFE6AA6B84
花括号让我头疼。我试过表达式中的 %7B
和 %7D
,但 IIS 不喜欢它。 (顺便说一句-这是一个 SharePoint 2010 网站,IIS v7.5)
谢谢。
您需要使用 {UrlDecode:%7B} 。 See here
因此您的重写规则将如下所示
<rule name="ModifyQueryString" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{QUERY_STRING}" pattern="(.*)listid=\{7898D8D3-7FDC-427C-B81D-AE95ADA03F07\}(.*)" />
</conditions>
<action type="Redirect" url="http://example.com/sites/techopskb/_layouts/listform.aspx?{C:1}&listid={UrlDecode:%7B}32992B8E-905E-47CA-BAB2-846D3E5D399F{UrlDecode:%7D}{C:2}" appendQueryString="false" />
</rule>