301使用htaccess将子域重定向到另一个域

时间:2013-10-03 07:29:28

标签: .htaccess

我想通过htaccess将子域名重定向到另一个域。

我想:

A: www.subdomain.domain1.se
B: subdomain.domain1.se
C: subdomain.domain1.se/anything/anything.anything#anything?anything

重定向到:

A: www.domain2.se
B: www.domain2.se
C: www..domain2.se/anything/anything.anything#anything?anything

此外,我需要知道放置文件的位置(在子域目录或根目录中)。如果可能的话,我可以将htaccess文件放在子域ddirectory中。

我试过这个:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^c\.domain1\.se$ [NC]
RewriteRule ^(.*)$ http://www.domain2.se/$1 [QSA,R=301,L]

2 个答案:

答案 0 :(得分:2)

我认为你在代码中弄乱了RewriteBase /

常规重定向301就像这样工作

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ http://domain2.com/$1 [L,R=301,NC]

答案 1 :(得分:1)

启用mod_rewrite.htaccesshttpd.conf,然后将此代码放入DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On

RewriteCond %{HTTP_HOST} subdomain\.domain1\.se$ [NC]
RewriteRule ^ http://www.domain2.se%{REQUEST_URI} [R=301,L,NE]

参考:Apache mod_rewrite Introduction

但请注意,散列后的URL部分未发送到Web服务器,因此无法由Apache mod_rewrite处理。