301重定向子域中的所有子文件夹

问题描述

我的网站有一个子域:docs.example.com 和其中的许多文件夹:docs.example.com/math、docs.example.com/science、docs.example.com/language 等等。所有这些 URL 都在 Google 中编入索引。我需要将子域及其子文件重定向到主 URL:www.example.com

由于 SEO,我需要进行 301 重定向。我可以访问主机服务器中的 .htaccess。我试过这个:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^docs.example.com$
RewriteRule ^(.*)$ http://www.example.com/ [R=301,L]

适用于 docs.example.com 但对于 docs.example.com/math 我收到 404 错误。 docs.example.com 下的所有内容都必须进行 301 重定向,所有子文件夹和文件

提前感谢您的帮助

解决方法

请遵循 .htaccess 规则文件顶部的 htaccess 规则。在测试您的网址之前,请务必清除浏览器缓存。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(?:www\.)?docs\.example\.com$ [NC]
RewriteRule ^(.*)/?$ http://www.example.com/$1 [R=301,NE,L]

附加说明:以下规则是建议/改进。

  • 此外,请确保将 htaccess 文件置于根级别。
  • 在主机检查条件下使用 NC 标志。
  • 重定向时使用 NE 标志。
  • 确保您的子域是由 vhosts 文件创建的。