Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

349
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda