ivgenij7, а обработчик php вообще есть?
но в любом случае это похоже косяк "конвертора"
так что убирайте всю эту вашу кашу с if и rewrite и пишите ОДНУ правильную директиву try_files $uri /index.php; как указано в моём ответе
ivgenij7, добавлено вроде правильно, но слишком много непонятного (а может быть и лишнего)
плюс, самое главное — неизвестно содержимое enable-php-83.conf
и вообще оно работает при открытии просто корня?
вот пример конфига для WordPress, реализовано немного по другому, но основная идея та же, правда сертификаты получаются по другому и тут про их получение ничего нет
server {
server_name back.example.com;
listen 443 ssl http2;
ssl_certificate /etc/ssl/domains/example.com/fullchain.pem;
ssl_certificate_key /etc/ssl/domains/example.com/privkey.pem;
access_log /srv/web/example.com/nginx.access.log main;
error_log /srv/web/example.com/nginx.error.log notice;
root /srv/web/example.com/back;
try_files $uri $uri/ @default;
index index.php index.html;
location @default {
#include addon.php@example.conf;
#include addon.php.conf;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param REQUEST_SCHEME $scheme;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param DOCUMENT_ROOT $document_root;
# не используем $fastcgi_script_name из-за проблем с alias
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param SCRIPT_NAME $uri;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param CONTENT_TYPE $content_type if_not_empty;
fastcgi_param CONTENT_LENGTH $content_length if_not_empty;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
#end include addon.php.conf;
fastcgi_pass unix:/srv/web/example.com/~run/php.socket;
#end include addon.php@example.conf;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
}
location ~ \.php$ {
include addon.php@example.conf;
try_files $uri @default;
}
}