From de0fc3026a8a1dde56b5dcd3b160e7e5349d7a29 Mon Sep 17 00:00:00 2001 From: markjaquith Date: Fri, 17 Dec 2010 20:57:03 +0000 Subject: [PATCH] Strip partial name= parameters when doing canonical redirection on them with default permalinks. props filosofo. fixes #15775 git-svn-id: http://svn.automattic.com/wordpress/trunk@17031 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/canonical.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/wp-includes/canonical.php b/wp-includes/canonical.php index 166789880..364119688 100644 --- a/wp-includes/canonical.php +++ b/wp-includes/canonical.php @@ -235,6 +235,15 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) { $redirect['query'] = preg_replace( '#^\??&*?#', '', $redirect['query'] ); if ( $redirect_url && !empty($redirect['query']) ) { parse_str( $redirect['query'], $_parsed_query ); + $redirect = @parse_url($redirect_url); + + if ( ! empty( $_parsed_query['name'] ) && ! empty( $redirect['query'] ) ) { + parse_str( $redirect['query'], $_parsed_redirect_query ); + + if ( empty( $_parsed_redirect_query['name'] ) ) + unset( $_parsed_query['name'] ); + } + $redirect_url = add_query_arg( $_parsed_query, $redirect_url ); }