Apache-2.2

Apache 虛擬主機配置 www 與非 www、重寫或 sServerAlias?

  • August 18, 2015

我們有一個中央 httpd.conf,我們包含各種虛擬主機的 conf。直到今天,我們才真正需要“www.subdomain.site.com”域,只有“subdomain.site.com”。現在我們這樣做了,所以我試圖找出這兩種方法中的哪一種更好:

$$ 1 $$. 使用重寫:

   RewriteCond %{HTTP_HOST} ^www.subdomain.site.com
   RewriteRule ^(.*)$ http://subdomain.site.com$1 [R=301]

要麼

$$ 2 $$. 使用 ServerAlais:

   <VirtualHost 111.22.33.44:80>
   ServerName subdomain.site.com
   ServerAlias www.subdomain.site.com
   Include conf/subdomain.conf
   </VirtualHost>

我想在 Rewrite 上有更多處理,但不確定 ServerAlias 在這種組合中的表現如何。一個比另一個獲得更好的 SEO foo 嗎?

歡迎任何和所有想法!

謝謝,

公里

我可能兩者都做。有類似的東西:

<VirtualHost 111.22.33.44:80>
 ServerName subdomain.site.com

 #Using Wildcard: might as well handle any variation
 #such as ww.subdomain.site.com (remember to set this in DNS too)
 ServerAlias *.subdomain.site.com

 RewriteEngine On

 #Change all variations to the Canonical hostname for SEO.
 RewriteCond %{HTTP_HOST} !^subdomain.site.com [NC]
 RewriteRule ^/(.*)$ http://subdomain.site.com/$1 [R=301]
 Include conf/subdomain.conf 
</VirtualHost>

注意:上面 David Zaslavsky 的解決方案或多或少做同樣的事情,但是這樣你就不必為每個子域做一個單獨的 VirtualHost 部分。

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