htaccess重定向TLD保留子域

时间:2017-08-20 09:16:05

标签: php apache .htaccess redirect

我想将某些TLD重定向到特定的TLD,我还想保留子域名。

以下是我需要的一些重定向示例:

sub1.domain.net -> sub1.domain.com
sub2.domain.net -> sub2.domain.com
sub3.domain.net -> sub3.domain.com

sub1.domain.org -> sub1.domain.com
sub2.domain.org -> sub2.domain.com
sub3.domain.org -> sub3.domain.com

我在.htacess文件中试过这段代码:

RewriteCond %{HTTP_HOST} !^([a-zA-Z_\-\.(0-9)]*)domain\.com
RewriteRule  ^ http://$1domain.com%{REQUEST_URI} [L,R=301]

但$ 1不被视为变量。

1 个答案:

答案 0 :(得分:0)

$ 1未在您的示例中定义,因为您没有捕获uri。要使用捕获的hostaname部分,您需要%n变量。 :

RewriteCond %{HTTP_HOST} !example\.com$
RewriteCond %{HTTP_HOST} ^((?!www\.).+)\..+$
RewriteRule ^ http://%1.example.com%{REQUEST_URI} [NE,L,R]