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

295
Views
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 answers
Answer question

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 Report

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 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!