我想我知道了。。。几乎我需要使用WordPress自己的重写引擎来定义重写规则,以便它能够识别我在做什么。
所以我把这个添加到我的WordPress主题中functions.php:
add_action( \'init\', \'init_custom_rewrite\' );
function init_custom_rewrite() {
    add_rewrite_rule(        
        \'^show/([^/]*)/([^/]*)/?\',        
        \'index.php?page_id=2382&id=$matches[1]&n=$matches[2]\',        
        \'top\' );
}
add_filter(\'query_vars\', \'my_query_vars\', 10, 1);
function my_query_vars($vars) {
    $vars[] = \'id\';
    $vars[] = \'n\';
    return $vars;
}
 URL
website.com/show/9999/page-name 工作正常。
现在,我需要重定向旧的查询字符串URL:website.com/show/?id=9999&n=page-name 到新的SEO友好url:website.com/show/9999/page-name
我在中使用了一些重写规则。htaccess:
RewriteCond %{QUERY_STRING} ^id=([^/]*)&n=([^/]*)$ 
RewriteRule ^showtest/?$ /showtest\\/%1\\/%2\\/? [R=301,L]