我有一個嵌套應用程序的網站。假設嵌套應用程序的虛擬目錄是'/ app'。當向www.mysite.com/app發出請求時,重定向到www.mysite.com/app/,可能是因爲虛擬目錄不是空的。我在嵌套的應用程序的web.config中設置了一個規則,用於從所有的URL中刪除尾部的斜槓,但這不會影響嵌套應用程序的根路徑。有沒有辦法(可能是IIS中的一個設置)重寫或重定向到沒有結尾斜槓的根?我已經嘗試了許多重寫和重定向規則無濟於事。從IIS中的嵌套應用程序的虛擬目錄根刪除尾部斜槓
這裏是我的去除拖尾斜槓規則:
<rule name="Remove trailing slash" stopProcessing="true">
<match url="(.*)/$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="{R:1}" />
</rule>
就像我說的,這個偉大的工程,但這並不影響根系。在我想從www.mysite.com/app加載的根目錄下有一個default.aspx頁面,而不是www.mysite.com/app/。
有沒有解決這個問題的方法?
如果您不知道,這似乎是IIS的一項「功能」[稱爲Courtesy Redirects](http://support.microsoft.com/default.aspx?scid=kb;en-us ; 298408)。我一直在尋找解決方法,並沒有找到任何。另見:http://stackoverflow.com/questions/8420371/why-does-iis-7-5-adds-a-trailing-slash-on-folders-can-we-disable-courtesy-redir –