1

このような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');

しかし、このコードは私にこのようなURLを与えます

xxxxx.com/search/

私を手伝ってくれますか?

4

1 に答える 1

0

これがうまくいくとは断言できませんが、あなたは次のようなものを探しています:

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

URL の最初のセグメントに基づいて書き直すことの賢明さには疑問があります。後でサイトの残りの部分をきれいなリンクに切り替えたい場合、多くの奇妙な結果が得られるからです。たとえば、example.com/blog は blog を検索し、example.com/search は search を検索します... 他の何かが必要な場合は、正規表現を編集して目的に合うようにすることができます。

詳細はこちら: http://codex.wordpress.org/Rewrite_API/add_rewrite_rule

于 2012-10-20T20:48:50.117 に答える