如何使用.htaccess从子域到root进行正确的301重定向

时间:2015-04-04 12:06:18

标签: wordpress .htaccess redirect hubspot

范围

目前致力于将客户的网站从HubSpot移开,并且只使用WordPress作为我们的CMS / Blogging平台。对于那些不熟悉HubSpot的人来说,它的COS平台最终会以博客文章,号召性用语,分析等方式占据您网站的1/3左右。然后博客文章通过HubSpot通过子域名发布这直接指向了HubSpots服务器。因此,它不是example.com/blog,而是像info.example.com/blog。

详情

HubSpot域是info.example.com,而WP站点的根域是www.example.com。我试图将子域名info.example.com和所有相关帖子严格重定向到.htaccess文件中。

我已经在子域的DNS面板中创建了301重定向,因此最后一部分是在.htaccess中列出博客文章网址,这样我们就不会失去SEO汁液。总共有大约20个网址被重定向。

在.htaccess中,我这样写了:

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

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

RewriteCond %{HTTP_HOST} ^info.example.com/blog/post [NC]
RewriteRule ^(.*)$ http://www.example.com/post$1 [L,R=301]
</IfModule>

.. etc等。根域不使用/ blog的URL结构,所以不要将其与拼写错误混淆:)

有人能告诉我这些重定向的编写方式是否存在明显错误?

提前致谢,如果需要更多信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

天哪,我明白了。错误发生在WP引擎方面。 info.example.com域指向托管帐户,但未在域管理器中列出。

在确认WP引擎的子域后,我将其指向www域,现在所有链接都正确地重定向并带有SEO汁。

FTW!