Apache-2.2

如何將子域設置為預設域?

  • November 4, 2011

我有一個域(我們稱之為 bar.com),我希望預設主機名是 foo.bar.com。因此,bar.com 將被重定向到 foo.bar.com,而 foo.bar.com 將對應於主要的 httpdocs 文件夾(我不希望我的整個站點都位於子域/foo/httpdocs 中,這簡直醜陋而且多餘的)。

我在 Plesk 中將 foo.bar.com 設置為 bar.com 的別名,效果很好。然後,為了將 bar.com 重定向到 foo.bar.com,我使用了 .htaccess 和以下內容:

RewriteCond %{HTTP_HOST} ^foo\.bar\.com
RewriteRule ^(.*)$ http://foo.bar.com/$1 [R=301,L]

但是,正如您現在可能已經想到的那樣,這會導致重定向循環。

有任何想法嗎?

你漏掉了一個**!**在您的 RewriteCond 中表明您不希望主機成為 foo.bar.com:

RewriteCond %{HTTP_HOST} !^foo\.bar\.com
RewriteRule ^(.*)$ http://foo.bar.com/$1 [R=301,L]

引用自:https://serverfault.com/questions/327688