Well what you want is achieved by two this ... 404 error page and with mod_rewrite
So mod_rewrite is not out of scope..
Let me explain you mod_rewrite here ..
If you request a page say http://www.example.com/abc.html
than what your Web server(apache) does with mod rewrite it will read the url, if it is in form
/[a-zA-Z-].html than it will execute /index.html though the Browser never comes to know that a different page is executed.
If you don't believe me try some Price comparison sites they mostly use mod_Rewrite. and in technical term its URL rewriting..
and for post data well you have to be careful and I am not sure if you can achieve it with 404 page also 404 will not keep this
The most important thing is the URL must stay the same
it willbe achieve by mod_Rewrite module of apache..