Apache-2.2

從一個 TLD 重定向到另一個

  • August 8, 2016

我有一個網站的兩個域(我們使用的是 Apache)example.comexample.org. 該網站響應這兩個萬用字元子域。但是,我希望將 .com 作為規範域。我的意思是,我想將所有內容重定向(301)到 .com,但保留子域。例如。

example.org => example.com
sub.example.org => sub.example.com

我對正則表達式知之甚少,無法弄清楚如何設置它。誰能指出我正確的方向?

試試這個:

<VirtualHost *:80>
   ServerName example.org
   ServerAlias *.example.org
   RewriteEngine On
   RewriteCond %{HTTP_HOST} ^(.*\.)?example\.org$
   RewriteRule ^/(.*)$ http://%1example.com/$1 [R=301,L]
</VirtualHost>

..然後讓您的其他虛擬主機(為 example.com 提供內容的虛擬主機)配置為ServerName example.comServerAlias *.example.com

編輯:通過添加“?”使子域的匹配成為可選的 量詞

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