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
Comment #1
xjessie007 commentedWould anyone have an idea, please? I spent another 2 days on it, still no clue.
Comment #2
dave reidIf 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.