道歉如果標題不清楚,基本上我有一個Web代理偵聽端口80,並在IIS上設置了URL重寫(web.config上的規則爲8095直接如何識別請求是否來自URL重寫模塊
,但我也想成爲: - 以下),但它確實
http://example.com/api/blah/blah>
http://example.com:8095/api/blah/blah
<rule name="api-example" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^.*/api/.*$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="http://localhost:8095/{R:0}" appendQueryString="true" logRewrittenUrl="false" />
</rule>
它工作得很好,沒有任何問題,也當我請求本地主機的工作原理能夠識別請求是直接請求還是通過URL重寫模塊。
我的想法是,在查詢字符串添加到URL,當URL大幹快上IIS rewrited,這樣我可以檢查,如果再查詢字符串存在,它是通過URL重寫,如果沒有,那麼這是一個直接請求
例子:
http://example.com/api/blah/blah?from=proxy - > http://example.com:8095/api/blah/blah?from=proxy
http://example.com/api/blah/blah?existing_query_string=blah&from=proxy - > http://example.com:8095/api/blah/blah?existing_query_string=blah&from=proxy
如何ç我做到了這一點?或者還有其他方法可以做到嗎?
非常感謝
明
您好我進行了嘗試,並HTTP_X_ORIGINAL_URL節目我只在url重寫前的原始路徑和查詢字符串,但沒有域值,這將無濟於事,如果我轉發到另一個Web服務器具有完全相同的路徑和查詢字符串。原始網址根本沒有幫助。 – Ming