2010-01-29 162 views
5

任何人都有將域映射到MVC區域的經驗嗎?將域名映射到MVC區域

這裏是我們的處境:

舊系統(仍然有效,但很快就會重新導向至新店):

www.example.com - 我們的主要網站,我們將流量發送
store.example.com - 我們的商店網站是一個完全獨立的網站,在google中被索引

新系統:

www.example.com - 同一站點
www.example.com/store之前 - 新的商店網站 - 內置在ASP.NET MVC區域

因爲商店一個單獨的域名谷歌給它一個單獨的條目在搜索結果中。我想在未來保持這種優勢,但是想知道是否有一種將域(store.example.com)映射到MVC區域的好方法,或者它是否會比它的價值更麻煩。

PS。我並沒有試圖保留現有的索引 - 它是一個完全獨立的商店,所以這是不可能的。我只是想重定向到新商店中的相應頁面。我只是想盡量避免爲SEO目的而損失兩個域名的好處。

+0

爲什麼你認爲擁有兩個網站對搜索引擎優化有好處,而不是把所有的「鏈接果汁」都放到一個域中?他們是否擁有相同的內容或不同的內容?如果他們有相同的內容,你指定規範的URL? – 2010-04-15 00:23:08

+0

當你說'重定向到相應的頁面'時,該映射是如何處理的?是否有舊的URL路徑的MVC路線映射到處理它的新控制器/動作?或者你想要做一個從舊的URL結構永久重定向到新的? – 2010-04-15 00:24:49

+0

您使用的是哪個版本的IIS,是IIS7.5應用程序和請求路由模塊的一個選項? – 2010-04-15 00:25:28

回答

5

我會在ASP.NET或IIS7應用程序和請求路由(ARR)中使用URL重寫來將store.example.com/...的傳入請求更改爲example.com/store/ ....

MVC將沒有任何問題 - 它不會看到任何東西,但新的URL,它只會產生新的佈局的鏈接。

其他替代方案:

  • 創建,只是做一個通配符301重定向爲每個頁面的相應頁面上的新址store.example.com網站。

  • 如果URL完全不重疊,則將舊域指向新的MVC站點併爲每個操作添加重複路由,例如, shop.example.com/info.aspx?item27可能有一個路由"/info.aspx/{pathinfo*}" ......它加載了一個Action,該Action知道如何處理舊的URL參數,並可以重定向到新的Action。

  • 我那裏有很多的URL映射到同一個作用點 - 事實上,曾經被用於頁面的每個傳統URL今天仍然適用,甚至包括其現在所服務的老.ASPX網址由MVC行動。一些遺留的URL使用301響應來處理,其他在網站上合法地具有重複內容的URL被正常處理,但該頁面還包括規範URL以指出哪一個是首選URL。