2017-05-11 46 views
1

我試圖在我的網站上包含路徑中的子應用的某個路徑上進行URL重寫。問題是,當我在路徑中有我的子應用程序的名稱時,規則會被跳過。IIS URL重寫模塊忽略路徑中的子應用的規則

所以我當前IIS設置:

Root App (example.com) 
| 
|---Child App (mychild) 

比方說,該網站是http://example.com

我可以通過http://example.com/mychild/...

現在我需要做一個URL重寫規則訪問子應用它會捕獲子應用程序下的特定網址。因此,例如將需要匹配:

http://example.com/mychild/folder1/method1和改寫爲別的

當我把這個規則(根站點web.config),但是(爲簡單起見移除正則表達式),規則是不觸發,繼續路由到孩子的應用程序,並導致404:

<rule name="rule1" enabled="true" patternSyntax="ExactMatch" stopProcessing="true"> 
    <match url="mychild/folder1/method1" /> 
    <action type="Rewrite" url="http://otherlocalserver" 
</rule> 

如果我更改了url屬性別的東西mychild實例(這是不是一個孩子應用程序),如:

<match url="hello/folder1/method1" />

此:http://example.com/hello/folder1/method1比賽。

我怎樣才能得到這個規則之前 IIS認爲我希望它使用child應用程序?

回答

0

子應用程序是否作爲單獨的網站運行?

然後,您應該在正確的web.config文件中執行重寫路徑。

如果不是,那麼可能還有其他一些規則將目標設定爲stopProcessing =「true」標記(如您在此處發佈的規則中的標記)。