Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

343
Views
¿Por qué la directiva de archivos no funciona en httpd.conf de Apache?

Tuve que no noindex archivos pdf. Lo hice muchas veces, así que en este caso, usé una directiva de files para agregar el encabezado noindex con X-Robots-Tag , como recomienda Google :

 <Files ~ "\.pdf$"> Header set X-Robots-Tag "noindex, nofollow" </Files>

Cuando he usado esto antes, funcionó a las mil maravillas. Pero en este caso, no me di cuenta de que X-Robots-Tag por sí solo, ni su contenido ( noindex , nofollow ) en el encabezado. Se habilitó Mod_headers.

Lo intenté

 <FilesMatch ~ "\.pdf$"> Header set X-Robots-Tag "noindex, nofollow" </FilesMatch>

sin suerte

Después de muchos intentos y errores, lo tengo funcionando con

 <LocationMatch ~ "\.pdf$"> Header set X-Robots-Tag "noindex, nofollow" </LocationMatch>

Pero realmente no entiendo por qué la regla que usé durante años dejó de funcionar y la regla que probé a ciegas, de repente funciona.

¿Alguien podría explicármelo?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

La documentación de Apache establece que FilesMatch toma un patrón de expresión regular <FilesMatch regexp> y se prefiere usar <Files ~ "regexp">

La directiva <FilesMatch> limita el alcance de las directivas adjuntas por nombre de archivo, tal como lo hace la directiva <Files>. Sin embargo, acepta una expresión regular. En mi experiencia con RegEx, esto significa usar un comodín para hacer coincidir todo, en lugar de la directiva <Files> normal que coincide con una subcadena.

En cuanto a hacer coincidir todos los archivos con nombre en una expresión, eso significa que se requiere una pequeña modificación en su código existente:

 <FilesMatch ".+\.pdf$"> Header set X-Robots-Tag "noindex, nofollow" </FilesMatch>

Si espera tener un archivo llamado .pdf que también necesita excluir, reemplace + en esa expresión con * . Esto se debe a cómo coincide RegEx:

  • . Coincidir con cualquier carácter, una vez.
  • + El modificador o bloque anterior debe ocurrir una o más veces
  • * El modificador o bloque anterior puede ocurrir cero o más veces

Esto significa que .+ coincide con todos los archivos que tienen al menos un carácter antes de .pdf en el nombre del archivo y .* coincide con todos los archivos que terminan en .pdf .

En cuanto a una explicación de por qué su directiva de Files no funciona: la directiva de Archivos puede ser anulada por otras directivas de Archivos que aparecen más adelante en la misma configuración o dentro de un archivo .htaccess en el directorio en el que está guardando los archivos pdf. Además, hay un orden en el que se manejan las directivas y todas pueden anular los pasos anteriores: Directory < Files en Directory < .htaccess < Files en .htaccess < Location . Entonces, lo más probable es que sea una parte diferente de la configuración que ignora la directiva Files

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!