如何将包含子域的整个域重定向到另一个域

时间:2017-05-18 10:35:47

标签: apache .htaccess url redirect subdomain

我需要重定向:

anything.domain.comdomain.com/anything

domain2.com

我已经使用通配符尝试了此.htaccess代码:

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

但仍然会将domain1.com/123重定向到domain2.com/123,而不会重定向到domain2.com,我的子域名根本不会重定向。

1 个答案:

答案 0 :(得分:0)

  

我已经购买了一个拥有大量流量的过期域名,我知道它至少有一个子域但可能更多,这就是为什么ID会在不知道所有子域名的情况下将任何内容重定向到我的域名

如果子域未实际配置,那么这就是您的问题。

您需要在DNS中配置所有子域(或者可能创建通配符子域),否则他们甚至无法解决(这可能是您在浏览器中遇到的错误) ?)。如果他们没有解决问题,那么他们就无法访问您的网站,.htaccess中的代码甚至无法处理。

此外,如果您希望重定向到主页,请删除$1反向引用(如我的评论中所述)。但是,将所有内容重定向到主页并不一定对SEO有利。谷歌很可能会将这些链接视为软404,很快就会从SERP中删除。

尝试以下方法:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain2\.com
RewriteRule ^ http://domain2.com/ [R=302,L]

这会将不属于domain2.com的所有请求重定向到domain2.com的根目录。

确保在测试之前清除浏览器缓存,因为浏览器会对301缓存进行缓存。因此,只有在您确定其工作正常时,才能将上述302(临时)更改为301(永久)。

  

我从另一个论坛上的某个人那里得到这个代码

了解您复制/粘贴到.htaccess文件中的内容非常重要,因为它可能会很快破坏您的网站。