Apache-2.2
將域重定向到管理多個域的新伺服器
我想將一個域 (old.com) 轉發到位於另一台伺服器上的另一個域 (new.com)。問題是,這個新伺服器已經託管了 2 個域(new.com 和 other.com),並且重定向實際上重定向到這個新伺服器上的另一個域(other.com)。
在 old.com 的 DNS 上,我創建了一條從“www”到“new.com”的 CNAME 記錄。
我還需要做什麼才能使 old.com 重定向到 new.com 而不是 other.com?
乾杯,
尼古拉斯。
您可以將 ServerAlias 添加到 new.com vhost 文件:http ://httpd.apache.org/docs/2.2/mod/core.html#serveralias
我假設 other.com 是伺服器選擇的預設域。
編輯
您可以查看您的 apache 服務的虛擬主機列表,以及預設使用的虛擬主機列表
apachectl -S
如果預設值為“other.com”,則任何確定要發送到由您的 CNAME 指示的伺服器且未在 new.com 虛擬主機中正確配置的請求,都將定向到預設虛擬主機。
編輯 2添加了重寫程式碼。
一旦您確定 ServerAlias 設置正確並且來自“www.old.com”的請求正在為來自“new.com”的文件提供服務,您就可以確保來自 www.old.com 的所有流量都正確獲取 301-使用 vhost 文件(或 .htaccess)中的以下程式碼(假設您啟用了 mod_rewrite)重定向(簡單地說:瀏覽器中的 URL 更改,搜尋引擎知道這是永久性更改):
<IfModule mod_rewrite.c> RewriteEngine On # START DOMAIN REDIRECTS RewriteCond %{HTTP_HOST} ^www\.old\.com$ [NC] RewriteCond %{HTTP_HOST} !^$ RewriteRule ^/(.*) http://new.com/$1 [R=301,L] # END DOMAIN REDIRECTS </IfModule>