将旧的子域重定向到新的子域

时间:2012-10-11 00:16:38

标签: apache .htaccess redirect rewrite

我正在尝试将以下旧子域重定向到新的子域:

sub.mydomain.com/d/(all_files),
sub.mydomain.com/d2/(all_files)

重定向到

sub2.mydomain.com/d/(all_files),
sub2.mydomain.com/d2/(all_files)

原始“sub”中还有其他文件夹/文件不会被重定向。只有“d”和“d2”文件夹中的文件需要重定向。

1 个答案:

答案 0 :(得分:2)

使用RewriteCond来测试HTTP_HOST

RewriteEngine On
# If it matches sub. the old subdomain,,,
RewriteCond %{HTTP_HOST} ^sub\.
# Redirect URLs starting with d/ or d2/ into sub2.mydomain.com
RewriteRule ^(d2?)/(.*)$ http://sub2.mydomain.com/$1/$2 [L,R=301]

表达式^(d2?)是:

  • ^字符串的开头
  • d后跟可选的2?表示上一个表达式是可选的)
  • ()整个内容被捕获以便在$1
  • 中重复使用