From 213100d5ba11567e0a6a15fde192411dc65baae8 Mon Sep 17 00:00:00 2001 From: markjaquith Date: Fri, 17 Dec 2010 20:23:34 +0000 Subject: [PATCH] Do not add URL query args twice in certain Canonical Redirect situations. Use add_query_arg(). props filosofo. fixes #15774 git-svn-id: http://svn.automattic.com/wordpress/trunk@17030 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/canonical.php | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/wp-includes/canonical.php b/wp-includes/canonical.php index 789d0c4da..166789880 100644 --- a/wp-includes/canonical.php +++ b/wp-includes/canonical.php @@ -234,11 +234,8 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) { // tack on any additional query vars $redirect['query'] = preg_replace( '#^\??&*?#', '', $redirect['query'] ); if ( $redirect_url && !empty($redirect['query']) ) { - if ( strpos($redirect_url, '?') !== false ) - $redirect_url .= '&'; - else - $redirect_url .= '?'; - $redirect_url .= $redirect['query']; + parse_str( $redirect['query'], $_parsed_query ); + $redirect_url = add_query_arg( $_parsed_query, $redirect_url ); } if ( $redirect_url )