X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/177fd6fefd2e3d5a0ea6591c71d660cabdb3c1a4..refs/tags/wordpress-2.6.2:/wp-includes/canonical.php?ds=inline diff --git a/wp-includes/canonical.php b/wp-includes/canonical.php index 5ad44575..4c1e3657 100644 --- a/wp-includes/canonical.php +++ b/wp-includes/canonical.php @@ -2,7 +2,8 @@ /** * Canonical API to handle WordPress Redirecting * - * Based on "Permalink Redirect" from Scott Yang and "Enforce www. Preference" by Mark Jaquith + * Based on "Permalink Redirect" from Scott Yang and "Enforce www. Preference" + * by Mark Jaquith * * @author Scott Yang * @author Mark Jaquith @@ -11,31 +12,34 @@ */ /** - * redirect_canonical() - Redirects incoming links to the proper URL based on the site url + * Redirects incoming links to the proper URL based on the site url * - * Search engines consider www.somedomain.com and somedomain.com to be two different URLs - * when they both go to the same location. This SEO enhancement prevents penality for - * duplicate content by redirecting all incoming links to one or the other. + * Search engines consider www.somedomain.com and somedomain.com to be two + * different URLs when they both go to the same location. This SEO enhancement + * prevents penality for duplicate content by redirecting all incoming links to + * one or the other. * - * Prevents redirection for feeds, trackbacks, searches, comment popup, and admin URLs. - * Does not redirect on IIS, page/post previews, and on form data. + * Prevents redirection for feeds, trackbacks, searches, comment popup, and + * admin URLs. Does not redirect on IIS, page/post previews, and on form data. * - * Will also attempt to find the correct link when a user enters a URL that does not exist - * based on exact WordPress query. Will instead try to parse the URL or query in an attempt - * to figure the correct page to go to. + * Will also attempt to find the correct link when a user enters a URL that does + * not exist based on exact WordPress query. Will instead try to parse the URL + * or query in an attempt to figure the correct page to go to. * * @since 2.3 * @uses $wp_rewrite * @uses $is_IIS * - * @param string $requested_url Optional. The URL that was requested, used to figure if redirect is needed. + * @param string $requested_url Optional. The URL that was requested, used to + * figure if redirect is needed. * @param bool $do_redirect Optional. Redirect to the new URL. - * @return null|false|string Null, if redirect not needed. False, if redirect not needed or the string of the URL + * @return null|false|string Null, if redirect not needed. False, if redirect + * not needed or the string of the URL */ function redirect_canonical($requested_url=null, $do_redirect=true) { global $wp_rewrite, $is_IIS; - if ( is_feed() || is_trackback() || is_search() || is_comments_popup() || is_admin() || $is_IIS || ( isset($_POST) && count($_POST) ) || is_preview() ) + if ( is_feed() || is_trackback() || is_search() || is_comments_popup() || is_admin() || $is_IIS || ( isset($_POST) && count($_POST) ) || is_preview() || is_robots() ) return; if ( !$requested_url ) { @@ -137,7 +141,8 @@ function redirect_canonical($requested_url=null, $do_redirect=true) { // www.example.com vs example.com $user_home = @parse_url(get_option('home')); - $redirect['host'] = $user_home['host']; + if ( isset($user_home['host']) ) + $redirect['host'] = $user_home['host']; // Handle ports if ( isset($user_home['port']) ) @@ -160,11 +165,12 @@ function redirect_canonical($requested_url=null, $do_redirect=true) { } else { foreach ( array('single', 'category', 'page', 'day', 'month', 'year') as $type ) { $func = 'is_' . $type; - if ( call_user_func($func) ) + if ( call_user_func($func) ) { $user_ts_type = $type; break; } } + } $redirect['path'] = user_trailingslashit($redirect['path'], $user_ts_type); } elseif ( is_home() ) { $redirect['path'] = trailingslashit($redirect['path']); @@ -210,12 +216,13 @@ function redirect_canonical($requested_url=null, $do_redirect=true) { } /** - * redirect_guess_404_permalink() - Tries to guess correct post based on query vars + * Attempts to guess correct post based on query vars * * @since 2.3 * @uses $wpdb * - * @return bool|string Returns False, if it can't find post, returns correct location on success. + * @return bool|string Returns False, if it can't find post, returns correct + * location on success. */ function redirect_guess_404_permalink() { global $wpdb;