funny thing. my apache2 (nothing special - standard build from ubuntu repo) actually came with this out-of-box.
works for *.html, *.htm and *.php
i figured out what's going on.
it's caused by mod_negotiation.
basicaly if it's enabled it will try to guess mime type of document if you won't provide suffix and if file exists it will be server instead of 404 document.
if this module is installed, you can enable it in .htaccess