Cómo hacer un rewrite de una URL en NGINX.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh47tZ_GPJH5zmvfORkTBv_LDL4QmadQIRO2h7BTVc_UdCydf2L4Sdqcr_LHySKJ_20s5OuHBJ3Yj0Df-3JtYd4_YlZMbXvD_HhcJR5vSssbWoYOG07PMD12KWXLGjpXvKXaRx31Wh2PBc/s1600/nginx.png)
Hace años, las URL solían ser del tipo:
https://www.web.com/noticias.php?id=1284
Esto pasó de moda y hoy en día es habitual que las URL sean del tipo:
https://www.web.com/noticia/1284
NGINX nos permite crear URL modernas mediante su instrucción rewrite.
Si volvemos al caso anterior, podemos lograrlo en NGINX usando este código:
rewrite ^/noticia/(.*) /noticias.php?id=$1 last;
Donde la sintaxis es:
rewrite regex replacement [flag];
- regex lee la expresión regular introducida por el usuario en la URL.
- replacement se refiere a la "parte real", los archivos del servidor con sus variables GET.
- flag: puede ser uno de estos cuatro valores
• last: deja de procesar el rewrite y busca el siguiente regex.
• break: deja de procesar el rewrite.
• redirect: realiza un redirect con código 302.
• permanent: realiza un redirect permanente con código 301.
Los rewrite se pueden emplazar dentro de un bloque location o de un bloque server en NGINX.
Fuente:
http://nginx.org/en/docs/http/ngx_http_rewrite_module.html
0 comentarios:
Publicar un comentario