Wordpress 将URL中具有特定名称的页面设置为noindex
对于WordPress页面,我想将包含/test/page/的所有页面设置为“noindex” 我迄今为止的努力:Wordpress 将URL中具有特定名称的页面设置为noindex,wordpress,.htaccess,Wordpress,.htaccess,对于WordPress页面,我想将包含/test/page/的所有页面设置为“noindex” 我迄今为止的努力: RewriteCond %{REQUEST_URI} .*\/test\/page\/ RewriteRule .* - [E=MY_SET_HEADER:1] Header set X-Robots-Tag "noindex, follow" env=MY_SET_HEADER 不幸的是,这不起作用。 我想问题出在我的正则表达式上 谁能帮我 它应该是X-Ro
RewriteCond %{REQUEST_URI} .*\/test\/page\/
RewriteRule .* - [E=MY_SET_HEADER:1]
Header set X-Robots-Tag "noindex, follow" env=MY_SET_HEADER
不幸的是,这不起作用。
我想问题出在我的正则表达式上
谁能帮我
它应该是X-Robots-Tag
,而不是X-Robots-Tag
您的RewriteRule
指令末尾还有一个错误的点
正则表达式可以简化,但在其他方面它仍然匹配任何包含/test/page/
的URL。斜杠不需要反斜杠转义,*
前缀是多余的。这与简单的/test/page/
相同
mod_rewrite指令也需要先于现有的WordPress指令。如果您将规则放在.htaccess
文件的末尾(在WP前端控制器之后),那么mod_rewrite指令将永远不会被处理
这应该可以解决您的问题,但是,您的规则可以简化。您不需要在这里使用mod_rewrite。您可以使用mod_setenvif设置环境变量
例如:
SetEnvIf Request_URI "/test/page/" NOINDEX
Header set X-Robots-Tag "noindex, follow" env=NOINDEX
SetEnvIf Request_URI "/test/page/" NOINDEX
Header set X-Robots-Tag "noindex, follow" env=REDIRECT_NOINDEX
通过不使用mod_rewrite,指令不必位于.htaccess
文件的顶部
使用WordPress/前端控制器 由于您正在使用WordPress,因此通过前端控制器(即
index.php
)重写请求,因此您需要检查重定向\u NOINDEX
环境变量
例如:
SetEnvIf Request_URI "/test/page/" NOINDEX
Header set X-Robots-Tag "noindex, follow" env=NOINDEX
SetEnvIf Request_URI "/test/page/" NOINDEX
Header set X-Robots-Tag "noindex, follow" env=REDIRECT_NOINDEX
虽然我们设置了
NOINDEX
env变量,但当请求被内部重写/重定向(通过WordPress)时,env变量将通过前缀REDIRECT\uuUcode>重命名。因此,NOINDEX
在处理标题
指令(延迟)的第一轮处理后成为REDIRCT\u NOINDEX
。抱歉-我的文本编辑器添加(更改)了点和X-Robots标记。我现在已经更正了我的帖子。不幸的是,这不适用于SetEnvIfBy“not work”,您的意思是X-Robots-Tag
HTTP响应头在响应中看不到?或者您收到了其他错误?正确,如果删除env=NOINDEX
参数是否设置了标头,我将使用Chrome扩展Live http标头?试着设置一个不同的标题,例如,X-TEST
——设置好了吗?非常好,解释得很好@user11274144:请将其标记为已接受
SetEnvIf Request_URI "/test/page/" NOINDEX
Header set X-Robots-Tag "noindex, follow" env=REDIRECT_NOINDEX