Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 将URL中具有特定名称的页面设置为noindex_Wordpress_.htaccess - Fatal编程技术网

Wordpress 将URL中具有特定名称的页面设置为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

对于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-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