2010-09-20 29 views
0

我們的託管帳戶是通過域名www.nashman.ca建立的,我們的申請是www.nashman.ca/hub。我們有另一個域名轉發到www.nashman.ca/hub,那是hub.mhn.co.我遇到的問題是,無論何時從hub.mhn.co導航到另一個頁面,轉發的域都會添加到/ hub,因此當您處於進入狀態時,域顯示爲hub.mhn.co/hub/admin例如,管理區域。我需要域名保持一致,並且從不顯示該文件夾名稱,因爲它會破壞我使用的一些JavaScript。設置這個最好的方法是什麼?確保文件夾名稱不出現在域名中

編輯

我一直在做一些閱讀有關URL重寫,並尋找到它 - 我的託管服務提供商支持IIS7 URL重寫模塊。到目前爲止,我發現的所有教程都詳細介紹瞭如何使用IIS配置工具設置規則,但我無法訪問它們。有沒有辦法通過編輯我的應用程序根目錄中的web.config?這會解決我的問題嗎?

+0

你確定你發佈在正確的地方嗎?這聽起來像是一個問題,無論誰設置你的網站。否則,只需使用相對鏈接? – bzlm 2010-09-20 18:11:51

回答

0

hub.mhn.co的默認頁面是否使用重定向至www.nashman.ca?如果是這樣,那麼發生的情況是轉發軟件基本上返回瀏覽器請求的新URI,並且新的URI將替換瀏覽器窗口中的舊URI,從而在所有未來的請求中取代舊URI。您可能正在重定向到〜/ hub /(站點根目錄的hub子目錄),這將導致瀏覽器請求一個新的URI來保留域名,但會粘貼到子目錄上。

如果您可以直接控制DNS和您的Web服務器,則可以使用DNS配置將對hub.mhn.co域的請求直接發送到Web服務器的/ hub子目錄。那樣,瀏覽器從來不知道hub.mhn.co實際上是www.nashman.ca/hub/。根據您的DNS軟件(IIRC,大多數可以處理ipaddress/subdir路由,但有些只能處理到ipaddress:port的路由),您可能必須直接到網絡服務器上的備用端口並將該端口映射到子目錄。

如果您的IT部門對您的DNS路由或您的確切託管環境沒有直接控制權或所有權,那麼您或多或少都會受到託管提供商的支配。他們可能能夠建立他們的環境來做同樣的事情,或不是。你所能做的就是問。

編輯:基本上你有兩個選擇,如果你遠程託管,並且不能使用他們的DNS來默默地重新路由。

第一個選項:將nashman.ca/hub的web層複製爲hub.mhn.co,並在宿主環境中的不同根空間下(嘗試保留服務層代碼的任何掛鉤在納什曼,所以你不必複製整個垂直切片)。如果您還必須將UI保留在/ hub /子目錄下,則需要重複代碼,但可以使用部署腳本緩解此問題,這樣可以將代碼庫的一個本地副本部署到各個位置。這可能還會花費更多,因爲您的託管環境現在託管了兩個不重要的站點。

第二種選擇:託管站點和/或解析您自己的硬件上的呼叫。只要你有一個通過ISP的公共靜態IP地址,你就可以提供一個DNS服務器,它將成爲nashman.ca和hub.mhn.co域名的「權威」服務器。您的ISP或第三方域名註冊管理機構可以提供一種「傳遞」路線,以將來自TLD服務器的請求發送給您。然後,您可以將請求路由到您喜歡的任何IP地址,端口和/或子文件夾;可以是遠程虛擬主機提供商(只要他們不介意只是託管您的網站)或您自己的網絡服務器。這將需要硬件和來自ISP的靜態IP。如果您失去了此服務器的電源,則在電源恢復之前,您的站點將無法訪問。如果您的DNS服務器的IP地址發生變化,您的站點將無法通過DNS訪問,直到向您發送請求的服務器使用新IP(可能長達24小時)更新其路由表爲止。

+0

感謝您的建議,它看起來像我的網站正在重定向。我的所有鏈接都是〜/ Controller/Action或〜/ Area/Controller/Action,由Url.Content()構建我們將聯繫託管服務提供商。 – Gallen 2010-09-20 19:12:05

+0

是的,他們在幫助我們時毫無用處。我們不能這樣做ipaddress:port的想法,因爲他們不會將端口轉發到文件夾,因爲有些關於我們的文件的政策。我仍在尋找解決方案。 – Gallen 2010-09-23 18:09:20

+0

看我的編輯;你仍然有一些選擇。 – KeithS 2010-09-23 18:48:59