web-dev-qa-db-ja.com

Wordpressのカスタム検索URL

私はSEO目的のために私のカスタム検索URLを変更しようとしています。 mydomain.com/?s=querymydomain.com/search/queryに変更する方法に関する記事を見つけました。しかし、私はmydomain.com/something/queryのようなカスタム検索URLを持っていることを好みます。

これは達成可能ですか?

助けてくれてありがとう!

1
Pam Apple

それは簡単です。 template_redirectアクションにこのフックを追加するだけで、検索クエリがNice urlにリダイレクトされます。

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

.htaccessファイルに追加してください。

# search redirect
# this will take anything in the query string, minus any extraneous values, and turn them into a clean working url
RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC]
RewriteRule ^$ /search/%1/? [NC,R,L]
1
Eugene Manuilov