I’m just about to commit some changes that will greatly improve the URL parsing. I’m sure there’s more room for improvment, but this is a first step.
Please read Parsing the URL for a bit of background.
It now handles virtual categories correctly. In the process, I had to fix up a number other items that arose when solving that issue. I should rewrite that whole section of code sometime soon. However, other items have priority.