I think I ran into a bug in the path.inc in Drupal 6.19, path.inc v 1.19.2.4.

When I go to the Home - Administer - Site building - URL aliases and create an alias, for example, "MS-DOS", it works fine. The alias "MS-DOS" gets saved to the database to the url_alias table like that (with the hyphen), and the node is displayed using clean URLs like http://localhost/MS-DOS. Everything ok.

However, when I create an alias "MS+DOS", it gets saved to the database as "MS DOS" (without the plus sign, the plus sign gets lost in the process). When I access the page with this article, it comes up as http://localhost/MS%20DOS. The conclusion is that it is not possible to create URL aliases with plus signs as word separators. I tried to use the pathauto module to set + as the separator, it does not work either, probably as it relies on path module, I guess. So, it looks like the problem is with the path module. Could anyone point me to where should I research now? (I am not much of a programmer, so I am a bit lost when looking at path.inc). Which function filters out the plus sign? Thanks. I labeled this as major issue as it affects an important functionality of the site and is visible to the user.

Comments

xjessie007’s picture

Would anyone have an idea, please? I spent another 2 days on it, still no clue.

dave reid’s picture

Category: bug » support
Status: Active » Fixed

If you go to http://localhost/MS+DOS it should work just fine though. the plus sign is a special character in URLs, so it's going to be output as it's encoded character, which is %20.

Status: Fixed » Closed (fixed)
Issue tags: -url encoding

Automatically closed -- issue fixed for 2 weeks with no activity.