Wordpress 3.1.1
[autoinstalls/wordpress.git] / wp-includes / canonical.php
index 3641196881e442124857a76dc0e02e160d1b156b..d111514df7eb7388d244c6d37f9e0a83e8cc8eed 100644 (file)
@@ -35,9 +35,9 @@
  *             not needed or the string of the URL
  */
 function redirect_canonical( $requested_url = null, $do_redirect = true ) {
-       global $wp_rewrite, $is_iis7, $wp_query, $wpdb;
+       global $wp_rewrite, $is_IIS, $wp_query, $wpdb;
 
-       if ( is_trackback() || is_search() || is_comments_popup() || is_admin() || !empty($_POST) || is_preview() || is_robots() || ( $is_iis7 && !iis7_supports_permalinks() ) )
+       if ( is_trackback() || is_search() || is_comments_popup() || is_admin() || !empty($_POST) || is_preview() || is_robots() || $is_IIS )
                return;
 
        if ( !$requested_url ) {
@@ -150,7 +150,7 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
                                $term_count += count( $tax_query['terms'] );
 
                        $obj = $wp_query->get_queried_object();
-                       if ( $term_count <= 1 && !empty($obj->term_id) && ( $tax_url = get_term_link((int)$obj->term_id, $obj->taxonomy) ) && !is_wp_error($tax_url) ) {
+                       if ( $term_count <= 1 && !empty($obj->term_id) && ( $tax_url = get_term_link((int)$obj->term_id, $obj->taxonomy) ) && !is_wp_error($tax_url) && !empty($redirect['query']) ) {
                                if ( !empty($redirect['query']) ) {
                                        if ( is_category() ) {
                                                $redirect['query'] = remove_query_arg( array( 'category_name', 'category', 'cat'), $redirect['query']);
@@ -195,7 +195,7 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
                        }
 
                        $addl_path = '';
-                       if ( is_feed() ) {
+                       if ( is_feed() && in_array( get_query_var('feed'), $wp_rewrite->feeds ) ) {
                                $addl_path = !empty( $addl_path ) ? trailingslashit($addl_path) : '';
                                if ( get_query_var( 'withcomments' ) )
                                        $addl_path .= 'comments/';