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

285
Vistas
Modifique AddHandler en funcionamiento para que coincida con los archivos solo en el directorio ACTUAL, NO en los directorios secundarios

Lo siguiente funciona bien para permitir que PHP se ejecute en dos archivos XML:

 <FilesMatch ^(opensearch|sitemap)\.xml$> AddHandler application/x-httpd-php5 .xml </FilesMatch>

Sin embargo , desafortunadamente, esta regla permitiría que esto suceda también en cualquier directorio secundario.

  • /opensearch.xml, trabajo/coincidencia deseada
  • /henchman24/opensearch.xml, trabajando/ NO es la coincidencia deseada

¿Cómo forzamos a Apache a que coincida solo con los archivos en el directorio actual y no con los directorios secundarios?

Realmente me gustaría:

  • Evite agregar un archivo .htaccess secundario en todos los directorios secundarios posibles.
  • Evite usar una ruta de servidor absoluta.
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

If la directiva se puede usar para proporcionar una condición para que el controlador se agregue solo para archivos que coincidan con el patrón en la carpeta actual.

El siguiente ejemplo agregará el controlador solo para archivos en la raíz del documento, como /sitemap.xml y /opensearch.xml pero no para /folder/sitemap.xml y /folder/opensearch.xml

 <FilesMatch ^(opensearch|sitemap)\.xml$> <If "%{REQUEST_URI} =~ m#^\/(opensearch|sitemap)\.xml$#"> AddHandler application/x-httpd-php .xml </If> </FilesMatch>

En el ejemplo anterior, la condición es comprobar que REQUEST_URI coincida con el patrón de expresión regular delimitado en m# # . El operador de comparación ~= verifica que una cadena coincida con una expresión regular.

El patrón ^\/(opensearch|sitemap)\.xml$ coincide con la variable REQUEST_URI (el componente de ruta del URI solicitado) como /opensearch.xml o /sitemap.xml

 ^ # startwith \/ # escaped forward-slash (opensearch|sitemap) # "opensearch" or "sitemap" \. # . xml # xml $ # endwith
over 4 years ago · Santiago Trujillo Denunciar

0

¿Has probado H= en una regla de reescritura?

 RewriteEngine On RewriteRule ^(opensearch|sitemap)\.xml$ . [H=application/x-httpd-php5]

Rewrite in htaccess tiene la propiedad incorporada de que esos nombres de archivo en cualquier subdirectorio tendrán el subdirectorio presente en la cadena contra la que se prueba la expresión regular, por lo que la expresión regular anclada no coincidirá en los subdirectorios.

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