[wp-trac] Re: [WordPress Trac] #3727: WP->parse_request() won't replace $pathinfo when $req_uri contains any %## encoding character.

WordPress Trac wp-trac at lists.automattic.com
Sun Mar 4 03:47:48 GMT 2007


#3727: WP->parse_request() won't replace $pathinfo when $req_uri contains any %##
encoding character.
-----------------------------------------+----------------------------------
 Reporter:  Kirin_Lin                    |        Owner:  ryan    
     Type:  defect                       |       Status:  reopened
 Priority:  normal                       |    Milestone:  2.1.3   
Component:  General                      |      Version:  2.1     
 Severity:  normal                       |   Resolution:          
 Keywords:  rewrite permalink has-patch  |  
-----------------------------------------+----------------------------------
Comment (by majelbstoat):

 The recent addition of urldecode() also converts '+' to ' '.  This breaks
 plugins that have added custom permalink handling, that use '+' to
 separate arguments.  The specific case that broke for me is language
 appending in Gengo, which creates permalinks like site.com/en+de/ .  This
 gets decoded to site.com/en de/ which fails to match the regular
 expressions that have been set up.  I'm sure there must be other plugins
 out there which rely on this behaviour as well, as '+' is a very natural
 separator for specifying 'more than one'.

 I would request that rawurldecode() be used instead, which is identical to
 urldecode(), except that it preserves '+'.

-- 
Ticket URL: <http://trac.wordpress.org/ticket/3727#comment:11>
WordPress Trac <http://trac.wordpress.org/>
WordPress blogging software


More information about the wp-trac mailing list