RewriteRule processing doesn't stop when a rule matches, unless you
tell it to. So you first rewrite *.html to *.php and then tell your
server to forbid access to *.php, and you get exactly that.
First a question: Why do you want to do this? This will cause all
kinds of trouble, like when a piece of php generates self referencing
urls, that will naturlally end in .php. Forms for example work like
this.
What you can do however is:
- Play with the order of the rules.
- Add the [L] flag to stop processing.