我尝试在这里以及 Stackoverflow 上寻找这个答案,但找不到适用的答案。
我正在尝试通过 HTACCESS 将 X-Robots-Tag“noindex”添加到我的网站上的特定目录。
目的:我想防止该目录内的所有页面被搜索引擎编入索引。
我的设置:PHP 版本 5.6.40 / Apache / Linux
澄清:这不是物理目录。这是通过 URL 重写而存在的虚拟目录。
答案1
.htaccess
使用以下 mod_headers 指令在该目录中创建一个文件:
Header set X-Robots-Tag "noindex"
更新#1:如果这是一个“虚拟”目录,方法会有何不同?
在这种情况下,在请求所需的 URL 路径时,使用.htaccess
文档根目录中的文件并设置环境变量(例如),并根据是否设置了环境变量有条件地设置。NOINDEX
X-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>