Назад | Перейти на главную страницу

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

Создать .htaccess файл в этом каталоге со следующей директивой mod_headers:

Header set X-Robots-Tag "noindex"

ОБНОВЛЕНИЕ №1: Если бы это был «виртуальный» каталог, чем бы отличался подход?

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

Например:

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

SetEnvIf это часть mod_setenvif.

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

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

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

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