Changing search URL to something other than “search”

To change the search url hook in this function this will replace “search” to whatever you want.

add_action( 'init', 'wpse21549_init' );
function wpse21549_init()
{
    $GLOBALS['wp_rewrite']->search_base="results";
}

place this code in your functions.php file and after saving this file. Go to permalink settings page and click on the save button to flush the rewrite rules.

update

To modify the search rewrite rules you can hook into the search_rewrite_rules filter. You can either add the extra rewrite rules that match post types yourself, or you can change the default “search rewrite structure” to also include the post type and then re-generate the rules (there are four rules: one standard, one with paging and two for feeds).

add_filter( 'search_rewrite_rules', 'wpse15418_search_rewrite_rules' );
function wpse15418_search_rewrite_rules( $search_rewrite_rules )
{
    global $wp_rewrite;
    $wp_rewrite->add_rewrite_tag( '%post_type%', '([^/]+)', 'post_type=" );
    $search_structure = $wp_rewrite->get_search_permastruct();
    return $wp_rewrite->generate_rewrite_rules( $search_structure . "/section/%post_type%', EP_SEARCH );
}