From 47bf346a9fe3e74886d07d31b5d39f3470491aeb Mon Sep 17 00:00:00 2001 From: Mark Jaquith Date: Thu, 11 Aug 2011 23:30:59 +0000 Subject: [PATCH] Deprecate RSS 0.92 and RDF feeds, and 301 them to the default feed. props johnpbloch. fixes #4967 git-svn-id: https://develop.svn.wordpress.org/trunk@18537 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/canonical.php | 8 +++++++- wp-includes/feed.php | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/wp-includes/canonical.php b/wp-includes/canonical.php index 453641a2b7..14d60797a1 100644 --- a/wp-includes/canonical.php +++ b/wp-includes/canonical.php @@ -218,7 +218,10 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) { $addl_path = !empty( $addl_path ) ? trailingslashit($addl_path) : ''; if ( get_query_var( 'withcomments' ) ) $addl_path .= 'comments/'; - $addl_path .= user_trailingslashit( 'feed/' . ( ( get_default_feed() == get_query_var('feed') || 'feed' == get_query_var('feed') ) ? '' : get_query_var('feed') ), 'feed' ); + if( (in_array( get_default_feed(), array( 'rss', 'rdf' ) ) && 'feed' == get_query_var('feed')) || in_array( get_query_var('feed'), array( 'rss', 'rdf' ) ) ) + $addl_path .= user_trailingslashit( 'feed/' . ( ( get_default_feed() == 'rss2' ) ? '' : 'rss2' ), 'feed' ); + else + $addl_path .= user_trailingslashit( 'feed/' . ( ( get_default_feed() == get_query_var('feed') || 'feed' == get_query_var('feed') ) ? '' : get_query_var('feed') ), 'feed' ); $redirect['query'] = remove_query_arg( 'feed', $redirect['query'] ); } @@ -295,6 +298,9 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) { // Clean up empty query strings $redirect['query'] = trim(preg_replace( '#(^|&)(p|page_id|cat|tag)=?(&|$)#', '&', $redirect['query']), '&'); + // Redirect obsolete feeds + $redirect['query'] = preg_replace( '#(^|&)feed=(rss|rdf)(&|$)#', '$1feed=rss2$3', $redirect['query'] ); + // Remove redundant leading ampersands $redirect['query'] = preg_replace( '#^\??&*?#', '', $redirect['query'] ); } diff --git a/wp-includes/feed.php b/wp-includes/feed.php index b94e34766d..d76ad769a3 100644 --- a/wp-includes/feed.php +++ b/wp-includes/feed.php @@ -63,7 +63,8 @@ function bloginfo_rss($show = '') { * @return string Default feed, or for example 'rss2', 'atom', etc. */ function get_default_feed() { - return apply_filters('default_feed', 'rss2'); + $default_feed = apply_filters('default_feed', 'rss2'); + return in_array( $default_feed, array( 'rss', 'rdf' ) ) ? 'rss2' : $default_feed; } /**