¿Cuál es la forma ideal de falsificar archivos en nginx (alias, try_files o reescribir)?

¿Cuál es la forma ideal de falsificar archivos en nginx (alias, try_files o reescribir)?

Estoy intentando falsificar la ubicación del archivo enviando una URL larga al servidor, el servidor la traduce al archivo php adecuado y devuelve el resultado, ejemplo:

Te envío un enlace como este:

http://example.com/fakelocation/123/456/789

Quiero que el servidor lo traduzca así:

http://example.com/myfile.php?arg=123&arg2=456&arg3=789

Lo intenté durante varias horas sin suerte, además el tercer argumento debería ser opcional.

¡Gracias!

Respuesta1

Lo tengo funcionando así:

rewrite ^/fakelocation/(\w*)/(\w*)/(\w*)? /myfile.php?arg1=$1&arg2=$2&arg3=$3 last;

información relacionada