Ich will nicht ausschließen, jetzt selbst auf dem Schlauch zu stehen, aber mit if (!-e $request_filename) wird der folgende Rewrite eigentlich nur ausgeführt, wenn der Request nicht auf eine tatsächlich existente Datei geht. Und wenn du einfach nur das ".php" aus deinen URLs entfernen willst...