2008-08-19 59 views
39

我有2臺主機,我想在主機的一個子域指向一個子域名主機二:如何重定向站點A與A或CNAME記錄,以網站B

subdomain.hostone.com --> subdomain.hosttwo.com 

我添加了一個CNAME記錄主辦一個指向subdomain.hosttwo.com,但我得到的是'400錯誤請求'錯誤。

任何人都可以看到我做錯了什麼?

+11

我沒有看到這是脫離主題。 DNS配置處於編程領域。 – superluminary 2013-09-18 16:05:11

+20

@superluminary:「offtopic」意味着國防部不知道場地,或者頭髮不好,或者想要關閉門票的徽章。在這種情況下,這個問題更適合於ServerFault恕我直言,所以它應該已經遷移,而不是關閉。 – SamGoody 2013-11-06 07:54:01

+0

不能同意更多,這篇文章應該重新打開或遷移,DNS配置是橫跨兩個領域的東西。 – 2017-10-05 17:31:34

回答

13

嘗試將其更改爲「子域 - > subdomain.hosttwo.com」

CNAME是某個域的別名,所以當你去爲hostone.com控制面板,你不應該有將全名輸入到CNAME別名中。

至於你所得到的錯誤,你可以登錄到subdomain.hostwo.com並檢查日誌?

2

聽起來像hosttwo.com上的Web服務器不允許未定義的域通過。你也說過你想做重定向,這實際上並不是重定向的一種方法。如果你通過GoDaddy購買了這個域名,你可能只想使用他們的重定向服務。

+0

或更改主機:) – Eoin 2017-04-12 12:11:58

0

這也可能是最好/最簡單的建立一個301 redirect。不需要DNS黑客入侵。

0

你只能DNS名稱蓬到一個不同的IP地址,因此,如果您使用的是虛擬主機與DNS重定向將不起作用。

當您在瀏覽器中輸入subdomain.hostone.com時,它將使用DNS來獲取它的IP地址(如果它是CNAME,它將繼續嘗試,直到它從A記錄獲取IP),然後它將連接到該IP併發送一個http請求與

Host: subdomain.hostone.com

http頭中的某處。

0

您可以通過多種非DNS方式來完成此操作。 subdomain.hostone.com上的着陸頁可以有一個HTTP redirect。在hostone.com web服務器可以配置爲重定向(容易在Apache中,不知道IIS)等

11

我覺得周圍的幾個可能的解決您的問題擊中了答案。

我同意最簡單的(也是SEO目的的最佳解決方案)是301重定向。在IIS中這是相當平凡的,你會創建一個網站subdomain.hostone.com,創建該網站後,用鼠標右鍵單擊該網站並進入屬性。點擊打開的站點屬性窗口的「主目錄」選項卡。選擇單選按鈕「重定向到URL」,輸入新站點的URL(http://subdomain.hosttwo.com),然後選中「上面輸入的確切URL」,「此資源的永久重定向」複選框(此複選框導致301重定向,而不是302重定向)。點擊確定,你就完成了。

或者你可以創建http://subdomain.hostone.com網站上的網頁,使用下列方法之一(這取決於託管平臺支持)

PHP重定向:


<? 
Header("HTTP/1.1 301 Moved Permanently"); 
Header("Location: http://subdomain.hosttwo.com"); 
?> 

ASP重定向:


<%@ Language=VBScript %> 
<% 
Response.Status="301 Moved Permanently" 
Response.AddHeader "Location","http://subdomain.hosttwo.com" 
%> 

ASP .NET重定向:


<script runat="server"> 
private void Page_Load(object sender, System.EventArgs e) 
{ 
Response.Status = "301 Moved Permanently"; 
Response.AddHeader("Location","http://subdomain.hosttwo.com"); 
} 
</script> 

現在假設您的CNAME記錄已正確創建,那麼您遇到的唯一問題是爲http://subdomain.hosttwo.com創建的網站使用共享IP和主機標頭來確定應顯示哪個網站。要在IIS下解決此問題,請在Web服務器上的IIS管理器中,右鍵單擊網站上的subdomain.hosttwo.com,然後單擊「屬性」。在顯示的「網站」選項卡上,您應該看到需要單擊的IP地址旁邊的「高級」按鈕。在出現的「高級網站標識」窗口中,點擊「添加」。選擇已被subdomain.hosttwo.com使用的相同IP地址,輸入80作爲TCP端口,然後輸入subdomain.hosttwo.com作爲主機標頭值。單擊確定,直到返回到主IIS管理器窗口,並且您應該很好。打開瀏覽器,並瀏覽到http://subdomain.hostone.com,你會看到該網站在http://subdomain.hosttwo.com出現,即使您的網址顯示http://subdomain.hostone.com

希望幫助...

2

這些天,許多網站所有者使用CDN服務它從CDN服務器提取數據。如果這是你的話,那麼你有兩種選擇:

  1. 通過添加CNAME記錄

  2. 不要創建一個子域創建一個子域和編輯DNS,但只能創建一個CNAME記錄指向回您的臨時DNS網址。

此解決方案僅意味着從CDN提取代碼,這將顯示它從cdn.sitename.com獲取數據,但實際上它是從您的CDN主機提取數據。

相關問題