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>
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 directivaRewriteBase
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 directivaRewriteBase
de la siguiente manera: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 directivaRewriteOptions
para desactivar la herencia de esas reglas.