我需要将一部分功能从遗留的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的内容作为其规则之一。这可能吗?
答案 0 :(得分:0)
似乎不可能 - 看起来只检查标题。
您可以检查HTTP标头或服务器变量的某些值
如果您可以从POST切换到GET,则可以检查QUERY_STRING