Canonical: Move trailing slash handling for robots.txt
and sitemaps to a single condition.
Give the unit test a more descriptive name. Follow-up to [48153], [48155]. See #48025. git-svn-id: https://develop.svn.wordpress.org/trunk@48166 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
72c7f2c41c
commit
de36eb3326
@ -57,8 +57,8 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
|
||||
}
|
||||
}
|
||||
|
||||
if ( is_admin() || is_search() || is_preview() || is_trackback()
|
||||
|| is_favicon() || ( $is_IIS && ! iis7_supports_permalinks() )
|
||||
if ( is_admin() || is_search() || is_preview() || is_trackback() || is_favicon()
|
||||
|| ( $is_IIS && ! iis7_supports_permalinks() )
|
||||
) {
|
||||
return;
|
||||
}
|
||||
@ -655,8 +655,10 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
|
||||
$redirect['path'] = trailingslashit( $redirect['path'] );
|
||||
}
|
||||
|
||||
// Remove trailing slash for sitemaps requests.
|
||||
if ( ! empty( get_query_var( 'sitemap' ) ) || ! empty( get_query_var( 'sitemap-stylesheet' ) ) ) {
|
||||
// Remove trailing slash for robots.txt or sitemap requests.
|
||||
if ( is_robots()
|
||||
|| ! empty( get_query_var( 'sitemap' ) ) || ! empty( get_query_var( 'sitemap-stylesheet' ) )
|
||||
) {
|
||||
$redirect['path'] = untrailingslashit( $redirect['path'] );
|
||||
}
|
||||
|
||||
@ -682,11 +684,6 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
|
||||
$redirect['host'] = $original['host'];
|
||||
}
|
||||
|
||||
// Even if the permalink structure ends with a slash, remove slash robots.txt.
|
||||
if ( is_robots() ) {
|
||||
$redirect['path'] = untrailingslashit( $redirect['path'] );
|
||||
}
|
||||
|
||||
$compare_original = array( $original['host'], $original['path'] );
|
||||
|
||||
if ( ! empty( $original['port'] ) ) {
|
||||
|
@ -7,12 +7,8 @@
|
||||
*/
|
||||
class Tests_Canonical_Robots extends WP_Canonical_UnitTestCase {
|
||||
|
||||
function setUp() {
|
||||
parent::setUp();
|
||||
}
|
||||
|
||||
function test_robots_url() {
|
||||
$this->set_permalink_structure( '/%year%/%monthnum%/%day%/%postname%/' );
|
||||
public function test_remove_trailing_slashes_for_robots_requests() {
|
||||
$this->set_permalink_structure( '/%postname%/' );
|
||||
$this->assertCanonical( '/robots.txt', '/robots.txt' );
|
||||
$this->assertCanonical( '/robots.txt/', '/robots.txt' );
|
||||
}
|
||||
|
@ -7,6 +7,7 @@
|
||||
* @group sitemaps
|
||||
*/
|
||||
class Tests_Canonical_Sitemaps extends WP_Canonical_UnitTestCase {
|
||||
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
$wp_sitemaps = new WP_Sitemaps();
|
||||
@ -38,4 +39,5 @@ class Tests_Canonical_Sitemaps extends WP_Canonical_UnitTestCase {
|
||||
$this->assertCanonical( '/wp-sitemap.xsl', '/wp-sitemap.xsl' );
|
||||
$this->assertCanonical( '/wp-sitemap.xsl/', '/wp-sitemap.xsl' );
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user