我想设置noindex x-robots标记为一个特定的坏搜索引擎的索引,甚至重定向页面,而不是最终目的地。
在我的root .htaccess文件的顶部,我添加了以下规则。
<IfModule mod_headers.c>
Header add X-Robots-Tag "BadBot: noindex"
</IfModule>
它是这样工作的。
Requesting http://example.com/page
SERVER RESPONSE: HTTP/1.1 301 Moved Permanently
Date: Mon, 17 Jul 2017 11:17:10 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Location: https://example.com/page
SERVER RESPONSE: HTTP/1.1 301 Moved Permanently
Date: Mon, 17 Jul 2017 11:17:11 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Location: https://www.example.com/page/
X-Robots-Tag: BadBot: noindex
SERVER RESPONSE: HTTP/1.1 200 OK
Date: Mon, 17 Jul 2017 11:17:13 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Robots-Tag: BadBot: noindex
请求:http://example.com/page
最终:https://www.example.com/page/
在请求的URL中,在强制HTTPS时缺少X-robots-tag。是否有任何方法解决此问题?
谢谢
2条答案
按热度按时间dgsult0t1#
我想你犯了一个小语法错误。应该是
Header set X-Robots-Tag
而不是Header add X-Robots-Tag
参考:https://yoast.com/x-robots-tag-play/
jogvjijk2#
正如所公布的,这个指令不会在301重定向中的任何一个上设置头,它只会在最后的200 OK响应上设置头。
header
指令的默认 condition 是onsuccess
,这意味着仅在2xx个响应上设置头。要在所有响应上设置头,包括3xx(重定向)和4xx(未找到),则需要使用always
condition。例如:
add
;set
是首选,因为您只想设置此头一次。