From f9e9676597505ab878e4e50c2c37a3d033325c3d Mon Sep 17 00:00:00 2001 From: Mark Jaquith Date: Wed, 12 Nov 2008 21:27:19 +0000 Subject: [PATCH] Canonical now only redirects to a different domain if the domains differ by their yes-www/no-www status. fixes #5089 git-svn-id: https://develop.svn.wordpress.org/trunk@9646 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/canonical.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/wp-includes/canonical.php b/wp-includes/canonical.php index 728b1dda9f..7e10c91832 100644 --- a/wp-includes/canonical.php +++ b/wp-includes/canonical.php @@ -238,7 +238,9 @@ function redirect_canonical($requested_url=null, $do_redirect=true) { $redirect['path'] = trailingslashit($redirect['path']); // Ignore differences in host capitalization, as this can lead to infinite redirects - if ( strtolower($original['host']) == strtolower($redirect['host']) ) + // Only redirect no-www <=> yes-www + if ( strtolower($original['host']) == strtolower($redirect['host']) || + ( strtolower($original['host']) != 'www.' . strtolower($redirect['host']) && 'www.' . strtolower($original['host']) != strtolower($redirect['host']) ) ) $redirect['host'] = $original['host']; $compare_original = array($original['host'], $original['path']);