具有多个域名的 301 重定向

具有多个域名的 301 重定向

我目前正在运营一个具有“多商店”功能的网站,这实际上意味着单个网站处理多个域。在本例中,我有domain-a.comdomain-b.com都指向一个商店。目前,他们在 上设置了一个博客domain-a.com/blog,可以从两个网站访问。

最近,我们想为每个域名建立一个单独的博客,所以我们将博客从 移至domain-a.com/blogblog.domain-a.com并在 htaccess 文件中设置 301 重定向,以将流量从 转发domain-a.com/blog到新位置。问题是,这也会将进入 的流量重定向到domain-b.com/blogblog.domain-a.com仅使用 .htaccess,是否有办法将domain-a.com/blog流量重定向到blog.domain-a.comdomain-b.com/blog重定向到完全不同的位置,例如domain-b.com/newBlog

编辑:为清晰起见,最后一段的结尾已重新措辞

答案1

这些规则可以完成这个任务:

RewriteEngine On
RewriteBase /

RewriteRule ^blog$ http://blog.%{HTTP_HOST}/ [NC,R=301,L]
RewriteRule ^blog/(.*)$ http://blog.%{HTTP_HOST}/$1 [NC,R=301,L]
  1. 将其放入.htaccess位于网站根文件夹中。如果放置在其他地方,则需要进行一些小的规则调整。

  2. 这些规则将适用于您提供的域名(例如domain-x.com=> blog.domain-x.com)。如果域名不同(例如),则必须更改这些规则www.domain-x.com才能重定向到。blog.domain-x.com


更新: 根据更新的要求:

RewriteEngine On
RewriteBase /

# rule for domain-A.com/blog
RewriteCond %{HTTP_HOST} =domain-a.com [NC]
RewriteRule ^blog(/?|/(.*))$ http://blog.domain-a.com/$2 [NC,R=301,L]

# rule for domain-B.com/blog
RewriteCond %{HTTP_HOST} =domain-b.com [NC]
RewriteRule ^blog(/?|/(.*))$ http://domain-b.com/newBlog/$2 [NC,R=301,L]

相关内容