mod-rewrite
Directivas proporcionadas por mod-rewrite en Apache 2.4
Buscar..
Sintaxis
- URL de RewriteBase
- RewriteCond TestString CondPattern
- RewriteEngine on | off
- RewriteMap MapName MapType: MapSource
- Opciones de RewriteOptions
- Sustitución de patrones de RewriteRule [banderas]
Lista de directivas disponibles en Apache 2.4
Apache 2.4 proporciona las siguientes 6 directivas a través del módulo mod_rewrite
:
- RewriteBase
- RewriteCond
- RewriteEngine
- RewriteMap
- RewriteOptions
- Reescribir
Se han eliminado las siguientes directivas, disponibles anteriormente en Apache 2.2:
- RewriteLock
- RewriteLog
- RewriteLogLevel
Se puede permitir que todas las directivas (con la excepción de RewriteMap
) definidas por mod_rewrite
anulen en un directorio .htaccess
través de la información de AllowOverride FileInfo
.
Directiva | Contexto | Descripción |
---|---|---|
RewriteBase | directorio, .htaccess | Establece la URL base para reescritura de directorio |
RewriteCond | En todos lados | Define las condiciones bajo las cuales ocurrirá la acción de reescritura. |
RewriteEngine | En todos lados | Establece el estado del motor de reescritura. |
RewriteMap | configuración del servidor, host virtual | Define una función de búsqueda de claves. |
RewriteOptions | En todos lados | Establece opciones especiales para el motor de reescritura. |
Reescribir | En todos lados | Define reglas específicas para el motor de reescritura. |
El contexto Everwhere
significa que la directiva se puede definir en cualquiera de las siguientes cuatro ubicaciones:
- configuración del servidor
- configuración de host virtual
- contexto de directorio
- archivo .htaccess
Las directivas RewriteLog
y RewriteLogLevel
se fusionaron con la directiva LogLevel
global y se usarían como:
LogLevel rewrite:<level>
donde <level>
es un valor desde trace8
(menos significativo) hasta emerg
(más significativo). Esta lista está disponible aquí .
RewriteBase y RewriteEngine
Directiva | Defecto | Contexto | Descripción |
---|---|---|---|
RewriteBase | Ninguna | Directorio, .htaccess | Establece la URL base para reescritura de directorio |
RewriteEngine | apagado | en todos lados | Habilitar o deshabilitar el motor de reescritura en tiempo de ejecución |
RewriteBase
La directiva especifica el prefijo de la URL que se utilizará para sustituir las rutas relativas.
RewriteEngine
La directiva, si está off
, no realizará el procesamiento de reescritura en tiempo de ejecución. Estas reglas no son heredadas por los hosts virtuales (desde la configuración del servidor), y tendrán que definirse individualmente.
RewriteMap
La directiva define una función que buscará una clave en el mapa definido y sustituye la búsqueda con su reemplazo del mapa.
La función de mapeo se define con la RewriteMap
directiva RewriteMap
siguiente manera:
RewriteMap MAPNAME Type:Source
y se puede consultar en cualquiera de las directivas RewriteCond
o RewriteRule
para que actúen como una guía de sustitución de la siguiente manera:
${ MAPNAME : KEY | DEFAULT }
Los siguientes son valores válidos para el Type
en la definición del mapa:
-
int
- permite solotoupper
,tolower
,escape
yunescape
-
txt
- busca un archivo de texto -
dbd
- busca en una base de datos utilizando laSELECT
SQLSELECT
-
rnd
- búsquedas aleatorias de archivo de texto -
dbm
- similar atxt
, excepto que elhttxt2dbm
necesita convertir los datos a hashes -
fastdbd
: busca en una base de datos utilizando laSELECT
SQLSELECT
con almacenamiento en caché