There is really no simple correlation between the previous URIs and the new ones. The previous ones used named IDs and the new ones use numbered ids.
here is an example:
/productgridview.aspx?pCatID=$ProductCategory&cCatID=$CategoryDefinition >
/Pages/ProductGridView/ProductGridView.aspx?N=126+4294959927+20
They are all going to be in relatively this format - pCatID and cCatID are being replaced with an N value.
/productgridview.aspx?pCatID=$ProductCategory1&cCatID=$CategoryDefinition1 -> /Pages/ProductGridView/ProductGridView.aspx?N=126+4294959927+20
/productgridview.aspx?pCatID=$ProductCategory1&cCatID=$CategoryDefinition2 -> /Pages/ProductGridView/ProductGridView.aspx?N=126+4294959927+26
/productgridview.aspx?pCatID=$ProductCategory2&cCatID=$CategoryDefinition3 -> /Pages/ProductGridView/ProductGridView.aspx?N=129+24+4294959919
/productgridview.aspx?pCatID=$ProductCategory2&cCatID=$CategoryDefinition4 -> /Pages/ProductGridView/ProductGridView.aspx?N=129+36
From this we could match $ProductCategory1 to 126, and $CategoryDefinition1 to 4294959927+20
I'm not sure how complex this would get to create an N value from the incoming URI, honestly I would rather not do this.
The /productgridview.aspx and /Pages/ProductGridView/ProductGridView.aspx are going to be the same though.
Can we only do a compare/replace on incoming requests that start with /productgridview.aspx ?
We have new BigIP 6400s, I'm hoping that they are powerful enough to do this in realtime.