nginx + php-fpm. Comment réécrire?

J’ai une partie suivante du fichier de configuration de l’hôte.

location / { try_files $uri /frontend.php; } location /backend/ { try_files $uri /backend.php; } location ~ \.php$ { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } 

Comment puis-je supprimer “/ backend” de $ _SERVER [“REQUEST_URI”] en utilisant uniquement les règles nginx?

Utilisez la directive map pour créer une nouvelle variable uri de requête, puis définissez fastcgi_param REQUEST_URI en utilisant cette nouvelle variable. Testé et ça marche.

 ### update REQUEST_URI map $request_uri $new_request_uri { default $request_uri; # for frontend request, still use $request_uri ~^/backend(?P.*)$ $suffix; # for backend request, only use the suffix after "/backend" } server { ... location ~ \.php$ { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param REQUEST_URI $new_request_uri; } }