HTACCESS: Как добавить X-Robots-Tag в определенный каталог?

Я попытался найти этот ответ здесь, а также Stackoverflow и не смог найти подходящий ответ.

Я пытаюсь добавить X-Robots-Tag 'noindex' в определенный каталог на моем сайте через HTACCESS.

Цель: я хочу, чтобы поисковые системы не проиндексировали все страницы в этом каталоге.

Моя настройка: версия 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: Если бы это был "виртуальный" каталог, как бы отличался подход?

В этом случае используйте .htaccess файл в корне документа и установить переменную среды (например, NOINDEX) когда запрашивается требуемый URL-путь и задайте X-Robots-Tag условно в зависимости от того, установлен ли envvar.

Например:

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

SetEnvIf является частью mod_setenvif.

ENV= аргумент Header Директива позволяет вам устанавливать этот заголовок, только если установлен указанный envvar.

ОБНОВЛЕНИЕ № 2: Apache 2 я верю.

Если вы используете Apache 2.4+ (в отличие от Apache 2.2), вы можете использовать выражение Apache вместо того, чтобы устанавливать переменную окружения. Например:

<If "%{REQUEST_URI} =~ m#^/virtualdirectory/#">
Header set X-Robots-Tag "noindex"
</If>
Другие вопросы по тегам