我有这样的网址
xxxxx.com/?s=&cp_state=Porto&refine_search=yes
我尝试制作这样的网址
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 :(得分:0)
我不能发誓这会起作用,但你正在寻找这样的东西:
add_rewrite_rule('([^/]*)/?','index.php?s=&cpstate=$matches[1]&refine_search=yes','top');
我怀疑基于URL中第一个段的重写智慧,如果你想稍后切换到网站其余部分的漂亮链接,你会得到很多奇怪的结果。例如,example.com / blog会搜索blog,example / search搜索搜索等等...如果你想要别的东西,你可以编辑正则表达式,使它符合你的需要。
在此处阅读更多内容:http://codex.wordpress.org/Rewrite_API/add_rewrite_rule