Index: src/wp-includes/rewrite.php
===================================================================
--- src/wp-includes/rewrite.php	(revision 55915)
+++ src/wp-includes/rewrite.php	(working copy)
@@ -594,6 +594,12 @@
 		}
 	}
 
+	if ( preg_match( '/^[^%]*%(?:postname|category|tag|author)%/', get_option( 'permalink_structure' ) ) ) {
+		$use_verbose_page_rules = true;
+	} else {
+		$use_verbose_page_rules = false;
+	}
+
 	// Look for matches.
 	$request_match = $request;
 	foreach ( (array) $rewrite as $match => $query ) {
@@ -606,7 +612,7 @@
 
 		if ( preg_match( "#^$match#", $request_match, $matches ) ) {
 
-			if ( $wp_rewrite->use_verbose_page_rules && preg_match( '/pagename=\$matches\[([0-9]+)\]/', $query, $varmatch ) ) {
+			if ( $use_verbose_page_rules && preg_match( '/pagename=\$matches\[([0-9]+)\]/', $query, $varmatch ) ) {
 				// This is a verbose page match, let's check to be sure about it.
 				$page = get_page_by_path( $matches[ $varmatch[1] ] );
 				if ( ! $page ) {
Index: tests/phpunit/tests/rewrite.php
===================================================================
--- tests/phpunit/tests/rewrite.php	(revision 55915)
+++ tests/phpunit/tests/rewrite.php	(working copy)
@@ -504,4 +504,31 @@
 		$this->assertIsArray( $rewrite_rules );
 		$this->assertNotEmpty( $rewrite_rules );
 	}
+
+	/**
+	 * @group multisite
+	 * @ticket 58536
+	 */
+	public function test_url_to_postid_of_verose_page_rules_upon_switch_to_blog() {
+		global $wp_rewrite;
+
+		// Make sure the current blog does not use verbose page rules.
+		$this->assertFalse( $wp_rewrite->use_verbose_page_rules );
+		
+		$new_blog_id = self::factory()->blog->create();
+		switch_to_blog( $new_blog_id );
+		
+		$this->set_permalink_structure( '/blog/%postname%/' );
+		
+		$post_id   = self::factory()->post->create();
+		$permalink = get_permalink( $post_id );
+		
+		restore_current_blog();
+		// Re-initialise the rewrite rule as if switch_to_blog would never happen.
+		$wp_rewrite->init();
+		$this->assertFalse( $wp_rewrite->use_verbose_page_rules );
+
+		switch_to_blog( $new_blog_id );
+		$this->assertEquals( url_to_postid( $permalink ), $post_id );
+	}
 }
