Nginx多个目录伪静态规则

假如目录是这样的:

域名/sort/a/um.php,域名/sort/b/um.php

那要怎么写伪静态呢?

方法一

location / {
index index.php index.html;
 if (!-e $request_filename){
 rewrite ^/yule/(.*)\.html /sort/a/$1.php last;
 rewrite ^/goto/(.*)\.html /sort/b/$1.php last;
 break;
 }
}

方法二

location / {
index index.php index.html;
 if (!-e $request_filename){
 rewrite ^/([a-zA-Z_-]+)/(.+)\.html /sort/$1/$2.php last;
 break;
 }
}
最终得到输出就是:域名/yule/um.html,域名/goto/um.html

PS

方法一用是可以用但是不如方法二灵活