Since upgrading to 4.7 menu item URLs which include query strings are URL encoded. For example '/forum/forumdisplay.php?f=4' (a vBulletin forum on the same site) is displayed as '/forum/forumdisplay.php%3Ff%3D4'. Also leading slashes are added even to URLs that already have one.
The only workaround for the encoding, AFAIK, is to use a fully qualified URL such as http://www.example.com/forum/forumdisplay.php?f=4.
As Drupal paths are meant to be entered without a leading slash (e.g. 'node/123') IMO absolute paths on the same server (i.e. those beginning with a slash) should not be assumed to be a Drupal path, and thus should not be altered by Drupal. For example '/not_drupal.html' or '/another/forum.php?id=12' should be treated in the same way as fully qualified URLs such as 'http://www.example.com/product.php?id=123'.
Although IMHO it should be the responsibility of the user to enter their URLs correctly (i.e. URL encoding applied where necessary) I can see there would be problems allowing query strings on Drupal paths. However would it be possible to do something like the following (psuedo-code)?
if ( clean URLs enabled) {
menu item 'path?foo=bar' to link /path?foo=bar
} else {
menu item 'path?foo=bar' to link index.php?q=path&foo=bar
}
Comments
Comment #1
killes@www.drop.org commentednobody else complained so either it doesn't happen on ever install or menu paths with query args arent' popular.
I mark this won't fix. Menu module implicitly assumes that all paths are Drupal paths. External (non-Drupal) paths should indeed be fully qualified.
Comment #2
James Harvard commentedOK. However, as 4.7 broke menu items that worked in 4.6 I think something should be added to the change-log. (Is there anywhere else people would check for incompatibilities and 'gotchas' before upgrading?)
AFAIK Drupal paths should not have a leading slash, therefore menu item paths which do have a leading slash are not Drupal paths, and should not be encoded by Drupal.
Would it be more appropriate to change this to a feature request?
Comment #3
jarea commentedProblem for me as well. Track this.