Do you have mod_speling activated in your local apache install?
Also, put a
at the beginning of your .htaccess file (in the local Ubuntu box).
If it's not done by some other rules you have in your .htaccess as well I suspect a AcceptPathInfo on handed over to mod_speling, the last one searching for for similar named files (products->products.php) and handing it over.
That code is an internal URL-path-to-filepath rewrite, not an external client URL-to-URL redirect. Don't confuse the two, as it makes understanding and using mod_rewrite much more difficult.
As well as mod_speling, you could be getting interference from mod_negotiation. If not required by your site, disable content negotiation by adding "-MultiViews" to the Options directive likely already at the top of your .htaccess file. For example: Options +FollowSymLinks -Indexes -MultiViews is a "typical" setting when using mod_rewrite.