2012-10-20 188 views
1

我有这样重写WordPress URL地址

xxxxx.com/?s=&cp_state=Porto&refine_search=yes

一个网址,我尝试做一个URL这样

xxxxx.com/Porto

已经尝试使用此代码:

function search_url_rewrite_rule() { 
    if (is_search() && !empty($_GET['s'])) { 
     wp_redirect(home_url("/search/") . urlencode(get_query_var('s'))); 
     exit(); 
    } 
} 
add_action('template_redirect', 'search_url_rewrite_rule'); 

但是这段代码给了我一个这样的网址

xxxxx.com/search/

你能帮助我吗?

回答

0

我也不敢保证这会工作,但你要找的是这样的:

add_rewrite_rule('([^/]*)/?','index.php?s=&cpstate=$matches[1]&refine_search=yes','top'); 

我怀疑重写基于URL的第一段的智慧,如果你想切换以后到你网站的其他部分的漂亮链接将会得到很多奇怪的结果。例如,example.com/blog会搜索博客,example.com/search搜索搜索等等...如果您想要别的东西,您可以编辑正则表达式,以便它符合您的要求。

更多此处了解:http://codex.wordpress.org/Rewrite_API/add_rewrite_rule