location /sudoku/ {
        alias /var/www/sudoku/;

        if ($scheme = http) {
                rewrite ^ https://$server_name$request_uri? permanent;
        }

        index gen-grid.php;

        try_files $uri $uri/ @add-php-extention;

        location ~ [^/]\.php(/|$) {
                try_files $uri @sudoku-grid;
                fastcgi_split_path_info ^(.+?\.php)(/.*)$;
                fastcgi_pass unix:/var/run/php/php7.3-fpm-sudoku.sock;
                fastcgi_index gen-grid.php;
                include fastcgi_params;
                fastcgi_param REMOTE_USER $remote_user;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_param SCRIPT_FILENAME $request_filename;
        }
}

location @add-php-extention {
        rewrite ^([^?#]*)(\?.*)?(#.*)?$ $1.php$2$3 last;
}

location @sudoku-grid {
        rewrite ^/sudoku/(.*).php$ /sudoku/sudoku.php?grid=$1 last;
}