Iis-6

大寫的 IIS 虛擬目錄/應用程序名稱

  • July 27, 2011

在 IIS 中,我有一個帶有 .Net 應用程序的網站,可以像這樣訪問:

http://site1.example.com/myapp

該站點需要身份驗證,因此當我訪問它時,它會按預期重定向到http://site1.example.com/myapp/login.asx

我導出了配置,然後使用該文件在同一台伺服器下創建了一個新站點。現在,當我在http://site2.example.com/myapp訪問新站點時,它會重定向http://site2.example.com/MYAPP/login.aspx。請注意應用名稱的大寫。

在導入 xml 配置文件之前,我對其進行了編輯,為應用程序設置了不同的根目錄(我放置了現有根目錄的副本),所以這不是問題。

當我查看 MetaBase.xml 時,新創建站點中虛擬目錄的 AppRoot 設置為 /LM/W3SVC/1584782141/Root/ MYAPP,而在導出的 xml 文件以及 Metabase.xml 中,但對於原來的虛擬目錄應該是小寫的。

我編輯了 MetaBase.xml(在 IIS 中允許線上編輯元數據庫)並保存它。完全沒有變化。我重新載入了元數據庫,更正到位,但它不起作用 - 它總是重定向到 URL 的大寫版本。

這僅在重定向到 login.aspx 時發生。如果我直接點擊登錄頁面 - 即我在瀏覽器中輸入 url,它會保持在我輸入的狀態。

此外,如果我在目錄中點擊“不受保護”頁面,它會保持原樣。

知道我還能在哪裡解決這個問題嗎?

我在 IIS 6 中發現了完全相同的問題。我在網路上的其他地方找到了一些對這個問題的引用;我認為沒有太多人這樣做會遇到錯誤。修復方法是允許直接編輯元數據庫,然後對其進行編輯以更改 AppRoot 以具有正確的大小寫。

哪個,你說你已經做到了。它總是對我有用;這就是我們在我們的環境中部署新客戶的方式。嘗試回收應用程序池,並確保刷新瀏覽器中的記憶體和 cookie。

引用自:https://serverfault.com/questions/292335