- if ( ! $this->use_verbose_page_rules ) {
- $this->add_rewrite_tag('%pagename%', "(.+?)", 'pagename=');
- $rewrite_rules = array_merge($rewrite_rules, $this->generate_rewrite_rules($page_structure, EP_PAGES));
- return $rewrite_rules;
- }
-
- $page_uris = $this->page_uri_index();
- $uris = $page_uris[0];
- $attachment_uris = $page_uris[1];
-
- if ( is_array( $attachment_uris ) ) {
- foreach ( $attachment_uris as $uri => $pagename ) {
- $this->add_rewrite_tag('%pagename%', "($uri)", 'attachment=');
- $rewrite_rules = array_merge($rewrite_rules, $this->generate_rewrite_rules($page_structure, EP_PAGES));
- }
- }
- if ( is_array( $uris ) ) {
- foreach ( $uris as $uri => $pagename ) {
- $this->add_rewrite_tag('%pagename%', "($uri)", 'pagename=');
- $rewrite_rules = array_merge($rewrite_rules, $this->generate_rewrite_rules($page_structure, EP_PAGES));
- }
- }
-
+ // the extra .? at the beginning prevents clashes with other regular expressions in the rules array
+ $this->add_rewrite_tag('%pagename%', "(.?.+?)", 'pagename=');
+ $rewrite_rules = array_merge($rewrite_rules, $this->generate_rewrite_rules($page_structure, EP_PAGES));