Well there is one thing I was wondering. In the old php url format, you have something like yoursite.com/page.php?action=edit&id=5&confirm=yes. PHP knows how to map each information to $GET array, in this case apparently 'edit' is stored in $GET['action'], '5' is stored in $GET['id'], and 'yes' is stored in $GET['confirm'].
Now consider a different url format used in most MVC framework, yoursite.com/page/edit/5/yes. There is no such information telling the controller which part of the string belongs to 'action', 'id' and 'confirm'. Consider a user is being redirected to this address through a link or a form, how is the controller supposed to interpret the url? It can get more complicated, some controllers/pages may not follow the format page/action/id/confirm. On a user profile the string may contains the username rather than userid(though you can argue that this is a bad design, the idea is that it's bad and inflexible to assume all controllers on a site share exactly the same format for their url string). It is difficult if not impossible to define one url interpreter method that converts each portion of the string to a variable.
Of course one can have a slightly different format of MVC style url, like this one yoursite.com/page/action/edit/id/5/confirm/yes. With this it is possible to map 'edit' to 'action', '5' to 'id' and 'yes' to 'confirm' easily since they now follow a valid pattern for any possible controllers(pretty much like array's key value pair), but the url does not look as nice as the one mentioned earlier.
For those who have rewritten your urls, what did you do to resolve this problem? I am sorry for writing this long, this issue is a bit difficult for me to explain but hopefully you get the idea what I am asking.