Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

346
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda