[wp-trac] [WordPress Trac] #5661: url_to_postid sometimes
incorrectly doubles requested url
WordPress Trac
wp-trac at lists.automattic.com
Mon Jan 14 03:45:56 GMT 2008
#5661: url_to_postid sometimes incorrectly doubles requested url
----------------------+-----------------------------------------------------
Reporter: filosofo | Owner: anonymous
Type: defect | Status: new
Priority: normal | Milestone: 2.5
Component: General | Version: 2.5
Severity: normal | Keywords: url_to_postid wp_rewrite has-patch
----------------------+-----------------------------------------------------
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:[[br]]
{{{blog/comments-
preview/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$}}}[[br]]
...[[br]]
{{{(blog/comments-preview)(/[0-9]+)?/?$}}}[[br]]
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.
--
Ticket URL: <http://trac.wordpress.org/ticket/5661>
WordPress Trac <http://trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list