繁体   English   中英

是否可以编写一个IIS URL重写规则来检查HTTP Post的内容?

[英]Is it possible to write an IIS URL Rewrite Rule that examines content of HTTP Post?

我需要将一部分功能从遗留的ISAPI dll拆分到另一个解决方案(最有可能是ASP.NET MVC)。 IIS7的URL Rewrite听起来像是这项工作的完美候选人,但事实证明我找不到按照我需要的方式配置规则的方法。 我需要编写一个规则来检查特定值的HTTP帖子的内容。

<form method="post" action="legacy_isapi.dll">
  <input name="foo" />
</form>
if (Request.Form["foo"] == "bar")
    Context.RewritePath("/some_other_url/on_the_same_machine/foo/bar");

作为概念证明,我能够创建一个IHttpModule来检查context.Request.Form集合,并在存在某些参数时执行重写。 我在我的网站上安装了这个模块,它可以工作。

但是,我宁愿扩展现有的URL Rewrite模块,而不是自定义模块,以支持检查HTTP Post的内容作为其规则之一。 这可能吗?

似乎不可能 - 看起来只检查标题。

http://learn.iis.net/page.aspx/465/url-rewrite-module-configuration-reference/#Rewrite_Rules_Overview

您可以检查HTTP标头或服务器变量的某些值

如果您可以从POST切换到GET,则可以检查QUERY_STRING

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM