Make WordPress Core

Opened 16 years ago

Closed 16 years ago

#5661 closed defect (bug) (fixed)

url_to_postid sometimes incorrectly doubles requested url

Reported by: filosofo's profile filosofo Owned by:
Milestone: 2.5 Priority: normal
Severity: normal Version: 2.5
Component: General Keywords: url_to_postid wp_rewrite has-patch
Focuses: Cc:


This patch brings url_to_postid into line with the same rewrite rule-matching behavior as that in the parse_request method of WP.

To understand the problem---which has already been fixed in the parse_query method---suppose you have a page with the name blog/comments-preview

Among others, you have the following two rewrite rules:

The problem is that ( (! empty($url)) && (strpos($match, $url) === 0) ) returns true on the first rewrite rule, where $match is the rule and $url is blog/comments-preview, so $request_match becomes blog/comments-preview/blog/comments-preview instead of what it should stay as: blog/comments-preview

So when the foreach loop reaches the correctly matching rule, the second one above, it no longer matches, and url_to_postid returns false.

Attachments (1)

rewrite_match.diff (533 bytes) - added by filosofo 16 years ago.

Download all attachments as: .zip

Change History (2)

#1 @ryan
16 years ago

  • Resolution set to fixed
  • Status changed from new to closed

(In [6614]) Don't double requested url in url_to_postid(). Props filosofo. fixes #5661

Note: See TracTickets for help on using tickets.