The <Files>
directive only applies to filenames, not file-paths, so your <Files>
directive will never match and the header will not be set.
To set this header on a specific file (and not all .pdf
files - as in the linked question/answers) in the root .htaccess
file then you can set an environment variable when this file is requested and conditionally set the header based on this env var.
For example:
SetEnvIf Request_URI "/path/to/example.pdf" NOINDEX
Header set X-Robots-Tag "noindex, nofollow" env=NOINDEX
Alternatively, if you could place an additional .htaccess
file in the directory that contains the PDF file you want to target, then you could use a <Files>
directive in that .htaccess
file:
<Files "example.pdf">
Header set X-Robots-Tag "noindex, nofollow"
</Files>
You could use this same method in the root .htaccess
file, but it will also add the header to all example.pdf
file requests on the system - although it's probably unlikely you have more than one file with the same name anyway I would think, so this may be the better solution after all.
.htaccess
file did you put that config in? The document root?wp-content/
?wp-content/uploads/
? – Stephen Ostermiller♦ Dec 1 '20 at 13:57curl --head http://example.com/xxxxxxx/wp-content/uploads/sites/7/2020/11/Xxxxxxxxxxxxx.pdf
– Stephen Ostermiller♦ Dec 1 '20 at 14:00robots.txt
? If so, it doesn't matter what your headers are because Googlebot will never crawl it and see the headers. – Stephen Ostermiller♦ Dec 1 '20 at 14:03