location /sudoku/ { alias /var/www/sudoku/; if ($scheme = http) { rewrite ^ https://$server_name$request_uri? permanent; } index index.php; try_files $uri $uri/ @add-php-extention; location ~ [^/]\.php(/|$) { try_files $uri =404; 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; } error_page 404 /sudoku/404.php; location /sudoku/404.php { internal; } } location ~ "^/sudoku/([1-9.]{81})$" { rewrite "^/sudoku/([1-9.]{81})$" /sudoku/sudoku.php?grid=$1 last; } location @add-php-extention { rewrite ^([^?#]*)(\?.*)?(#.*)?$ $1.php$2$3 last; }