一种快速的方法可能是简单地将查询字符串附加到URL,以防止重定向(例如。?noredirect
) - 仅附加查询字符串不应阻止显示旧的homepageA。
您可能想阻止?noredirect
URL。这可以通过发送X-Robots-Tag: noindex
HTTP响应标头。
但是,任何键入此URL的用户(例如。?noredirect
) 将能够访问旧的homepageA,无论他们是否先访问过homepageB。
例如:
# Redirect homePageA to homepageB, when the query string is not "noredirect"
RewriteCond %{QUERY_STRING} !^noredirect$
RewriteCond %{HTTP_HOST} ^(www\\.)?homepageA\\.ar
RewriteRule ^$ https://homepageB.ar/ [R=301,L]
# Send the X-Robots-Tag noindex header when query string is "noredirect"
RewriteCond %{QUERY_STRING} ^noredirect$
RewriteRule ^ - [E=NOINDEX:1]
Header set X-Robots-Tag "noindex" env=REDIRECT_NOINDEX
没有必要在
RewriteRule
替换字符串。以及
RewriteRule
图案^$
与相同^/?$
在中使用时.htaccess
.假设您在Apache上,并且正在内部重写对WordPress前端控制器(标准WP)的请求.htaccess
指令),然后您需要检查REDIRECT_NOINDEX
在Header
指令,尽管设置了NOINDEX
前面的环境变量RewriteRule
指令。(重写引擎触发“循环”,并NOINDEX
环境变量重命名为REDIRECT_NOINDEX
.)
您需要在测试之前清除浏览器缓存,最好先使用302(临时)重定向进行测试,然后再将其设置为301(永久)重定向。