How to turn this .htaccess rule into a dynamic rule with add_rewrite_rule, et al?

Try this and follow the same structure to add more rewrite rules or query vars:

add_filter('query_vars', 'my_query_vars');
function my_query_vars( $vars) {
    $vars[] = "land";
    $vars[] = "expert";
   return $vars;
}

// Add the new rewrite rule to existings ones
add_action('init','my_rewrite_rules');
function my_rewrite_rules() {
    add_rewrite_rule( 'land/(.+)/?$' , 'index.php?land=1&expert=$matches[1]' , 'top' );
}

Don’t forget to flush the rewrite rules by going to the admin area->Settings->permalinks->click save.