Notes to self: nginx Piwigo rewrite rules

This was inspired by this forum thread on the Piwigo forums. Set up rewrite rules in nginx where “piwigo” is the path the gallery lies in:

location @rewrite {
    rewrite ^/piwigo/picture((/|$).*)$ /piwigo/picture.php$1 last;
    rewrite ^/piwigo/index((/|$).*)$ /piwigo/index.php$1 last;
    # The following is needed for batch operations which use i.php
    rewrite ^/piwigo/i((/|$).*)$ /piwigo/i.php$1 last;

location /piwigo {
    index index.php;
    try_files $uri $uri/ @rewrite;

location ~ ^(?<script_name>.+?\.php)(?<path_info>/.*)?$ {
    try_files $script_name = 404;
    fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_param PATH_INFO $path_info;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;

Lastly, add the relevant information to the Piwigo configuration (LocalFiles editor):

$conf['php_extension_in_urls'] = false;
$conf['question_mark_in_urls'] = false;