问题描述
我的网站有一个子域: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 文件创建的。