aha, the penny drops.
not so much as how to transfer it but how to parse the information out of it once it is there.
This has to be done in the receiving script (or an include script) and obviously will depend on exactly how you have created the "friendly" URI in the first place.
for mine, the page address is built from the database as
/[category]/[productgroup]/en/[productid]/ the "en" here is just a place holder.
Obviously the productname can be left off to get to the group, and the productgroup can be left off to get to the category.
there is also an addition for when larger product pictures have been uploaded (the script checks for them first and displays the link if they exist) of
The parsing of the passed querystring from the server variables is done by a split (on "/") into an array so it contains all the elements from the URL (the "http://" is left out with a mid() string slice)
arrayname(lbound(arrayname)) will always have the hostname
and depending on how many array elements there are I can get each of the relevant parts.
if arrayname(ubound(arrayname)-1) is "en" it's a product page, if it's "extrapic" then it's the larger pic page to show. So some variables are set and do a server.transfer to the relevant page or include the page content script. It's then a very simple matter of building a SQL query to pull the relevant information
with only 1 or 2 array elements it has to be a product category or a product group.
If after all that, the item is not found it will deliver a 404 response to the UA.
For your example;
qString = request.servervariables("query_string")
VFolders = split(mid(qString,instr(qString,"://")+3),"/") ' VFolders is now a array of the "virtual folder names" from the 404 querystring
and you would pass VFolders(ubound(VFolders)) on to the script that pulled the appropriate page.
so wherever you used request.querystring("page") replace it with VFolders(ubound(VFolders))
Obviously there is more code for error checking and validating the decoded parameters etc. Even a rewritten URL could be used for a SQL injection attack if a "cracker" worked out what any of the "folder" names actually meant.