es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Las reglas de reescritura de Apache2 se aplican en diferentes carpetas.

¿Es posible que mi archivo “.htaccess” con reglas de reescritura solo se aplique en la carpeta en la que se encuentra? Actualmente se está aplicando a todo, incluso a otros directorios.

HTAccess:

<ifmodule mod_rewrite.c="">
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^/]+)/?$ pages.php?page=$1

</ifmodule>
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible tener su archivo .htaccess con reglas de reescritura que solo se apliquen en la carpeta donde se encuentra. Para lograr esto, debe utilizar la directiva RewriteBase para especificar la URL base del directorio donde se encuentra el archivo .htaccess.

    Por ejemplo, si su archivo .htaccess se encuentra en el directorio /ejemplo/directorio/, deberá configurar la directiva RewriteBase de la siguiente manera:

    RewriteBase /ejemplo/directorio/
    

    Esto asegurará que las reglas de reescritura en el archivo .htaccess solo se apliquen a las URL que se encuentren dentro de ese directorio y sus subdirectorios.

    Tenga en cuenta que si tiene otros archivos .htaccess en directorios superiores que también contienen reglas de reescritura, esas reglas seguirán aplicándose a las URL dentro del directorio hijo, a menos que utilice la directiva RewriteOptions para desactivar la herencia de esas reglas.

Comments are closed.