簡體   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