Cómo configurar NGINX con php para que no sea la ubicación "raíz"

Cómo configurar NGINX con php para que no sea la ubicación "raíz"

Tengo Nginx configurado para trabajar con AgenDAV y baikal. Siempre que utilice la ubicación '/', todo funcionará bien. Aquí está la configuración para eso.

server {
server_name _;
root /agendav/agendav-2.6.0/web/calendar;

location / {
    # try to serve file directly, fallback to index.php
    try_files $uri /index.php$is_args$args;
}

# optionally disable falling back to PHP script for the asset directories;
# nginx will return a 404 error when files are not found instead of passing the
# request to Symfony (improves performance but Symfony's 404 page is not displayed)
# location /bundles {
#     try_files $uri =404;
# }

location ~ ^/index\.php(/|$) {
    # when using PHP-FPM as a unix socket
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;

    # when PHP-FPM is configured to use TCP
    # fastcgi_pass 127.0.0.1:9000;

    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    include fastcgi_params;

    # optionally set the value of the environment variables used in the application
    # fastcgi_param APP_ENV prod;
    # fastcgi_param APP_SECRET <app-secret-id>;
    # fastcgi_param DATABASE_URL "mysql://db_user:db_pass@host:3306/db_name";

    # When you are using symlinks to link the document root to the
    # current version of your application, you should pass the real
    # application path instead of the path to the symlink to PHP
    # FPM.
    # Otherwise, PHP's OPcache may not properly detect changes to
    # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
    # for more information).
    # Caveat: When PHP-FPM is hosted on a different machine from nginx
    #         $realpath_root may not resolve as you expect! In this case try using
    #         $document_root instead.
    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    fastcgi_param DOCUMENT_ROOT $realpath_root;
    # Prevents URIs that include the front controller. This will 404:
    # http://example.com/index.php/some-path
    # Remove the internal directive to allow URIs like this
    internal;
}

# return 404 for all other php files not matching the front controller
# this prevents access to other php files you don't want to be accessible.
location ~ \.php$ {
    return 404;
}

error_log /var/log/nginx/project_error.log;
access_log /var/log/nginx/project_access.log;

}

Observe que la "raíz" web está en la carpeta "calendario". Quiero cambiar esto 'desde la raíz /agendav/agendav-2.6.0/web/calendar;' a 'root /agendav/agendav-2.6.0/web/' y luego poder acceder al php correctamente con 'http://localhost/calendar/' en lugar de 'http://localhost/'

¿Cómo cambio mi configuración de nginx para lograr eso?

información relacionada