将子域重定向到另一个子域相同的结构子文件夹

时间:2014-11-22 04:56:54

标签: apache .htaccess mod-rewrite redirect subdomain

我想要重定向子域名

http://subdomain.example.com/path/to/directory/orfile.ext

到相同的结构但不同的域名扩展

http://subdomain.example.net/path/to/directory/orfile.ext

附加问题

1-如果我有subdomain1 sundomain 2,是否可以使用代码重定向站点中的所有通配符?

2-我应该把.htaccess代码放在哪里?在www目录或每个子文件夹目录中?

3 个答案:

答案 0 :(得分:0)

试试这个:

此代码在.htaccess文件中写入并放在旧域的根文件夹(您的domain1)

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
  RewriteCond %{HTTP_HOST} ^www.olddomain.com$
  RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L]
</IfModule>

答案 1 :(得分:0)

试试这个

1。复制此代码:

  Redirect 301 / http://subdomain.to-go-to.net/

到名为.htaccess

的文件中

这将重定向所有网址,例如与他们的段,例如

http://subdomain.example.NET/user/login/whatever

将成为

http://subdomain.example.COM/user/login/whatever

2. .htaccess文件放入旧网站的根目录中 - 如果将其放在子目录中,它将无法正常工作

答案 2 :(得分:0)

试试这个:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*)example.com$ [NC]
RewriteRule ^(.*)$  http://%1example.net/$1 [R=301,L]

这会将example.com域的所有请求(包括对所有子域的请求)重定向到具有相同路径结构的example.net

将其放在示例。root网站的文档com目录中。

注意:

如果您只想重定向子域(而不是主域),请改为:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+)\.example.com$ [NC]
RewriteRule ^(.*)$  http://%1\.example.net/$1 [R=301,L]