in Nginx config file, did set rewrite location like below but do not work and every time return 404 not found, what is the problem here?

```
server {   
listen 80;
server_name mydomain.com www.mydomain.com;
root /var/www/html/mydomain.com;
.
.
.
location /postfixadmin {
    root /var/www/html/postfixadmin/;
    index index.php index.html index.htm;
    location ~ ^/postfixadmin/(.+\.php)$ {
       try_files $uri $uri/ =404;
       root /var/www/html/postfixadmin/;
       fastcgi_pass 127.0.0.1:9000;
       fastcgi_index index.php;
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
       include /etc/nginx/fastcgi_params;
       fastcgi_buffer_size 128k;
       fastcgi_buffers 256 4k;
       fastcgi_busy_buffers_size 256k;
       fastcgi_temp_file_write_size 256k;
       fastcgi_intercept_errors on;

    }
    location ~* ^/postfixadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
       root /var/www/html/postfixadmin/;
    }
}
location /PostfixAdmin {
   rewrite ^/* /postfixadmin last;
}
.
.
}

```