Rewriting URLs with a query string

First of all, you have to make sure to register your public query vars with WordPress so it recognizes your rewrite rule vars.

Add this code on your functions.php file:

add_rewrite_rule('^(tips)/([^/]*)/([^/]*)/?', 'index.php?name=$matches[1]&id=$matches[2]&filter_id=$matches[3]','top');

add_filter('query_vars', 'foo_my_query_vars');
function foo_my_query_vars($vars){
    $vars[] = 'id';
    $vars[] = 'filter_id';
    return $vars;
}

After that, enter on your Permalinks Settings page to flush your permalinks, just save it again and WordPress system will rewrite the .htaccess file.

You can access your variables as follows:

$id = get_query_var('id');
$filter_id = get_query_var('filter_id');

This rewrite_rule works only for level/cat/1 (1 being the filter_id).