I'm trying to chang my custom search url for SEO purpose. I found an article about how to change mydomain.com/?s=query to mydomain.com/search/query. However, i prefer to have a custom search url such as mydomain.com/something/query.

Is this achievable?

Thank you for any help!

  • What article did you find to achieve that URL? please post a link and code. I would guess you can just change search to something.
    – Milo
    Jun 11 '12 at 14:38

It's easy. Just add this hook for template_redirect action and it will redirect your search queries to nice url:

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

Add to your .htaccess file:

# 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]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.