February 2018
Beginner to intermediate
348 pages
9h 40m
English
The RewriteRule Apache directive is the direct equivalent to rewrite in Nginx. However, there is a subtle difference: URIs in Nginx begin with the / character. Nevertheless, the translation remains simple:
RewriteRule ^downloads/(.*)$ download.php?url=$1 [QSA]
The preceding Apache rule is transformed into the following:
rewrite ^/downloads/(.*)$ /download.php?url=$1;
Note that the [QSA] flag tells Apache to append the query arguments to the rewritten URL. However, Nginx does that by default. To prevent Nginx from appending query arguments, insert a trailing ? to the substitution URL:
rewrite ^/downloads/(.*)$ /download.php?url=$1?;
The RewriteRule Apache directive allows additional flags; these can be matched against those ...