Nginx – How to convert Apache rewrite rules to nginx

nginxrewrite

I'm trying to convert these rules from Apache rewrite to nginx:

RewriteRule ^([^/]+)/([^/]+)?$ api.php?version=$1&call=$2 [L]

I tried adding the following in the nginx config:

 rewrite ^([^/]+)/([^/]+)?$ api.php?version=$1&call=$2

but I only receive a 404 error when I visit my site.

I want my URL to look like:

 http://mysite/1.0/Something

How can I convert these rules to nginx?

Best Answer

Add a / to your rewrite-destination and set the last flag.

rewrite ^([^/]+)/([^/]+)?$ /api.php?version=$1&call=$2 last;