mod_rewrite allows more "friendly" urls as he said. On the server side, the path requested by the browser is converted to a querystring. The browser has no part of this mod_rewrite magic. If you use relative URLs in the HTML, the browser as he said would append that to a nonexistant directory. There is no
http://example.com/shop.php/buy/item57, for example, but because of mod_rewrite, Apache treats it like shop.php?action=buy&item=item57 (Or similar, never actually used mod rewrite).
From installing various forums and CMS systems, it seems common practice to have an include file included by all source files that defines variables for things such as database info and the website address. Do that, and when sending out the page a link is no longer to /folder/example.html but to <address variable> + /folder/example.html The browser then knows that it is looking for
http://example.com/folder/example.html (Base directory + path to item) and not
http://example.com/shop.php/buy/item...r/example.html (What the browser thinks is the current directory + path to item)
In summation, mod_rewrite just creates a stronger need for absolute linking. So why not just stick with querystrings?