2012-05-13 45 views
0

我有下列虛擬目錄的網站時,每一個被配置爲應用程序根:ResolveClientUrl在虛擬目錄沒有指向域根

  1. _root/WEBSITE1
  2. _root/WEBSITE2
  3. _root/WEBSITE3

而且他們每個人都有自己的定點域:

  1. www.website1.com
  2. www.website2.com
  3. www.website3.com

當我打電話ResolveClientUrl( 「〜/ Default.aspx的」)處於WEBSITE1,它返回:

/website1/Default.aspx

至極是正確的,但那麼瀏覽器將用戶指向:

http://www.website1.com/website1/Default.aspx

至極是錯誤的,它應該指向:

http://www.website1.com/Default.aspx

我明白爲什麼會這樣,我想知道是否有一些workarround告訴我的應用程序忽略虛擬目錄,並假設它s在網站的根目錄下,在這種情況下是域的根?也許重寫ResolveClientUrl並添加一個標誌?

+1

在IIS,AFAIK中,您只能將域綁定應用到網站,而不是虛擬目錄。你如何將v。目錄與不同的域相關聯? – Meligy

+0

此外,你應該真的改變你的標籤,包括你運行這個的任何版本的iis。 – Jared

回答

0

可以如以下代碼中使用:

的String.Format(Request.IsSecureConnection 「HTTPS:// {0} {1}」: 「HTTP:// {0} {1}」,請求.Url.Host,Page.ResolveUrl(「〜/ default.aspx」));