puerto apache reescribir a nginx
Frecuentes
Visto 597 veces
1
Tengo nginx actuando como un proxy inverso para apache.
Tengo un directorio de activos con archivos estáticos que está siendo atendido por nginx
location /assets {
alias /var/public/assets;
expires 1h;
}
Sin embargo, algunos de los jpegs servidos desde ese directorio tienen un formato particular, es decir
/assets/test.jpg?p=2&project=wert
Quiero que nginx reescriba estas URL para que sean procesadas por el servicio de backend
Tengo la siguiente reescritura de apache que hace lo que quiero
RewriteEngine On
RewriteCond %{QUERY_STRING} q=[0-9]{1,2}&project=(\w+)$
RewriteRule ^assets/(.*)\.(jpe?g)$ /process/assets/$1.$2 [L]
¿Cuál es el equivalente de nginx y debería ponerlo en la directiva de ubicación anterior o en otro lugar?
Muchas Gracias
1 Respuestas
1
if ($query_string ~ "q=[0-9]{1,2}&project=(\w+)$"){
rewrite ^/assets/(.*)\.(jpe?g)$ /process/assets/$1.$2 break;
}
contestado el 22 de mayo de 12 a las 13:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas apache nginx rewrite or haz tu propia pregunta.
Intentare gracias. ¿Esto residirá dentro de la directiva de ubicación que menciono? - Thomas
Si no es así, cambie "descanso" por "último". Existe una solución más elegante con solo reescribir, si esto no funciona, lo escribiré. - Dmitri Verhoturov
Hola. Lo probé y nginx se queja: "alias" no se pudo usar en la ubicación "/assets" donde se reescribió el URI - Thomas
Lo moví fuera del bloque de ubicación y parece estar funcionando. Probaré un poco más - Thomas