I crawled a lot of pages using wget -m -k -E. The resulting files have names within the form foo.php?bar.html. Apache guesses everything following the ? is really a query string, it is possible to method to tell it to disregard the ? because the query string delimiter (and find out foo.php?bar.html because the asked for file and never foo.php)?

In order to save you a vacation to wget manpage:
-m : mirror recursively
-E : foo.php?bar becomes foo.php?bar.html
-k : convert links in pages (foo.php?bar now links to foo.php?bar.html inside of all of the pages so that they display correctly)

Would getting away the ? as %3F have the desired effect?