On a client’s WooCommerce store, we noticed it was not possible to remove items from the shopping cart. When clicking on “Remove item” the shopping cart was reloaded and there was no change.
It can have various causes. Often, it is a misconfigured caching. But that was not the case here. That was my first guess as well. However, nginx was in use here and the configuration used in the server did not look as recommended by WordPress (https://wordpress.org/documentation/article/nginx/) or nginx itself (https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/).
Solution if it is an nginx error
The location / section of the vhost must look like this:
location / {
try_files $uri $uri/ /index.php?$args;
}
In the case of the customer, ?$args was missing from the section. When making changes to the nginx configuration, do not forget a service reload. Under Ubuntu, run the following:
systemctl reload nginx
Solution: It is a caching problem with W3 Total Cache
If the caching plugin W3 Total Cache is used in the WordPress installation, it is necessary to configure the plugin so that the shopping cart or checkout pages are not cached. Otherwise, it may cause problems.
Under W3 Total Cache -> Page Cache -> Never cache the following pages insert the following entries:

Here again the values to copy out:
/cart*
/checkout*
or
/warenkorb*
/kasse*
depending on whether the German or English version of WooCommerce is in use.