我对 web.config 文件中的 ISAPI 规则有疑问。我想更改查询字符串的内容。这意味着我想拆分查询字符串,以便在将不需要的数据写回 URL 之前删除不需要的数据。
<rule name="something">
<matchurl=".?" />
<condition logicalgrouping="matchall">
<add input="{QUERY_STRING}" pattern={something2} />
</condition>
<action type="redirect" url="http://{HTTP_HOST}{URL}QUERYSTRING"appendQueryString="True" redirecttype="found" />
现在我想删除查询字符串的一部分。我怎样才能做到这一点?有人知道如何拆分或编辑查询字符串的内容吗?
最佳答案
使用 UriBuilder
和 HttpUtility
来做到这一点。首先将 URL 放入 UriBuilder
:
var uri = new UriBuilder(url);
uri.Port = -1;
现在使用查询字符串:
var query = HttpUtility.ParseQueryString(uri.Query);
然后删除你不想要的:
query.Remove("parmName");
然后把它放回去:
uri.Query = query.ToString();
var newUrl = uri.ToString();
关于c# - 更改查询字符串内容编辑或从 Web 配置文件拆分(QUERY_STRING 服务器变量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18614145/