Я пытался найти этот ответ здесь, а также в 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>