Rewrite URL to specifi query parts Nginx
I have got a situation where I want to rewrite the following URLs and send my first URL parameter as data
parameter and rest as query
parameter
www.example.com/anything.jpg //Skip - Do Nothing because its a file from root www.example.com/anything //anything == ?data=$1 www.example.com/something/b //something == ?data=$1 b == &query=$2 www.example.com/certainly/b/c //certainly == ?data=$1 b/c == &query=$2 www.example.com/anything/b/c.jpg //anything == ?data=$1 b/c.jpg == &query=$2 www.example.com/but/b/c/d //but == ?data=$1 b/c/d == &query=$2
so my first URL parameter will always be data
and rest as query
no matter what it has. I found this question here htaccess redirect only if it has value after forward slash and got it to some extent like
rewrite ^/(.*)/(.+)$ /handle.php?data=$1&query=$2 last;
It has some problems as this rewrites into following
www.example.com/anything.jpg //Results in 404 Not Found www.example.com/anything //Results in 404 Not Found www.example.com/something/b //Working good www.example.com/certainly/b/c //data=certainly/b query=c www.example.com/anything/b/c.jpg //data=certainly/b query=c.jpg www.example.com/but/b/c/d //data=but/b/c query=d
I tried playing around with different variations in rewrite ^/(.*)/(.+)$ /handle.php?data=$1&query=$2 last;
but nothing worked