HTACCESS:如何将 X-Robots-Tag 添加到特定目录?

HTACCESS:如何将 X-Robots-Tag 添加到特定目录?

我尝试在这里以及 Stackoverflow 上寻找这个答案,但找不到适用的答案。

我正在尝试通过 HTACCESS 将 X-Robots-Tag“noindex”添加到我的网站上的特定目录。

目的:我想防止该目录内的所有页面被搜索引擎编入索引。

我的设置:PHP 版本 5.6.40 / Apache / Linux

澄清:这不是物理目录。这是通过 URL 重写而存在的虚拟目录。

示例 URL:http://www.example.com/newsletters/

示例 URL:http://www.example.com/newsletters/spring.html

答案1

.htaccess使用以下 mod_headers 指令在该目录中创建一个文件:

Header set X-Robots-Tag "noindex"

更新#1:如果这是一个“虚拟”目录,方法会有何不同?

在这种情况下,在请求所需的 URL 路径时,使用.htaccess文档根目录中的文件并设置环境变量(例如),并根据是否设置了环境变量有条件地设置。NOINDEXX-Robots-Tag

例如:

SetEnvIf Request_URI ^/virtualdirectory/ NOINDEX
Header set X-Robots-Tag "noindex" ENV=NOINDEX

SetEnvIf是其一部分mod_setenvif

ENV=仅当设置了指定的环境变量时,指令的参数才Header允许您设置该标题。

更新#2:我相信 Apache 2。

如果你使用的是 Apache 2.4+(而不是 Apache 2.2),那么你可以使用阿帕奇表达式而不必设置环境变量。例如:

<If "%{REQUEST_URI} =~ m#^/virtualdirectory/#">
Header set X-Robots-Tag "noindex"
</If>

相关内容