漂亮的URL用PHP和文件名作为参数

I have this nginx configuration, trying to rewrite mysite.com/user/1234 to mysite.com/user.php?id=1234. However, I get 404 error. What's wrong in my code?

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;

        index index.php index.html index.htm index.nginx-debian.html;

        server_name [[MYSITE]];


       location / {
                rewrite ^/user/(.*)$ /user.php?id=$1 last;
                try_files $uri $uri/ @extensionless;
        }


        location @extensionless {
                rewrite ^(.*)$ $1.php last;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
                fastcgi_read_timeout 3000;
        }


        [...]