.htaccess从一个域重定向到另一个域,包括子域

时间:2015-12-20 11:25:41

标签: apache .htaccess mod-rewrite redirect

我有两个域名,例如:

  • example.com
  • website.co.uk

我想通过以下方式重定向:

  • example.com - > https://www.website.co.uk
  • alt.example.com - > https://www.alt.website.co.uk
  • test.example.com - > https://www.test.website.co.uk

正如您所看到的,我希望它总是强制 https www.

但是,我还希望它能够记住URL结构的其余部分,例如:

  • example.com/folder/index.html - > https://www.website.com/folder/index.html
  • alt.example.com/test/ - > https://www.alt.website.com/test/
  • test.example.com/o/index.php - > https://www.test.website.com/o/index.php

我不确定完成此操作的最佳方法,我发现的两个选项是尝试重写规则,另一个是301重定向。

1 个答案:

答案 0 :(得分:2)

请尝试以下规则

RewriteEngine on


#redirect subdomains
RewriteCond %{HTTP_HOST} ^((?!www).+)\.domain.com$
RewriteRule ^(.*)$ http://%1.domain2.com/$1 [L,R]

#redirect domain

RewriteCond %{HTTP_HOST} ^(www\.)?domain.com$
RewriteRule ^(.*)$ http://www.domain2.com/$1 [L,R]