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,escapeyunescape -
txt- busca un archivo de texto -
dbd- busca en una base de datos utilizando laSELECTSQLSELECT -
rnd- búsquedas aleatorias de archivo de texto -
dbm- similar atxt, excepto que elhttxt2dbmnecesita convertir los datos a hashes -
fastdbd: busca en una base de datos utilizando laSELECTSQLSELECTcon almacenamiento en caché