2010-04-20 27 views
0

我正在嘗試WinHost,我遇到了一些與子域有關的問題。在WinHost上,每個託管帳戶可以有多個子域,但每個子域都指向根網站。例如。您可以擁有www.example.com,sub1.example.com和sub2.example.com,但所有這些內容均顯示在http://www.example.com/如何使用IIS7 URL Rewrite 2.0管理WinHost上的子域?

其他主機允許您將子域指向您網站中的子文件夾。這將允許你指向sub1.example.com到/ sub1,sub2.example.com到/ sub2和www.example.com到/。

WinHost建議使用asp/aspx pagehttp://sub1.example.com重定向到http://sub1.example.com/sub1,它指向/ sub1。雖然這將工作,我想沒有兩次URL中的子域名。

所以我嘗試使用IIS7 URL重寫指向http://sub1.example.com到/ sub1。本鮑威爾在his blog上詳細描述了這一點。這很好,除了Request.ApplicationPath現在是/sub1/path/to/current/page.aspx,它打破ASP.Net主題(也可能是其他的東西)。

我能做些什麼來修復ApplicationPath?有沒有更好的方法來完成這一點?

+0

我一直沒有遇到這個問題,雖然我主要使用WinHost的MVC,你可以發佈你試圖做重定向的規則嗎? – 2010-05-07 20:33:28

+0

查看我的博客文章中關於此的第一個代碼片段:http://john.rummell.info/john/blog/post/WinHost-Sub-Domains-and-IIS-7-URL-Rewrite.aspx。我使用.NET 3.5的WebForms。 – jrummell 2010-05-08 19:40:35

回答

1

我在serverfault上試過我的運氣。沒有有用的答案有兩種,但我沒有張貼我的解決方案:

我無法弄清楚如何使用URL重寫模塊來解決 應用程序的路徑,所以現在我乾脆 到 重定向(不重寫)從 http://sub.example.com/abchttp://sub.example.com/sub/abc。這是 不理想,但它的作品。有關詳細信息,請參閱我的博客 。

https://serverfault.com/questions/134125/how-to-manage-sub-domains-on-winhost-with-iis7-url-rewrite-2-0/135533#135533

1

阿爾塔夫的文章通過刪除〜符號解釋的分辨率。看看那裏的第7點。

+0

對,我想避免這種情況。我在我的應用程序的每個地方使用'〜/ relative/path',以便將應用程序放在網站根目錄還是任何虛擬目錄中都無關緊要。 – jrummell 2011-04-08 12:41:08