Htaccess Rewrite verursacht 500 Fehler anstelle von 404

Ich habe vor kurzem dieses kleine Stück Code zu meinem hinzugefügt.htaccess Datei:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]

Ok, ich verstehe, was hier passiert, denke ich. Dieser kleine Code zum Entfernen von PHP-Dateierweiterungen führt zu einer Schleife, wenn das Dokument nicht gefunden wird. Diese Schleife verursacht einen 500-Server-Fehler anstelle des (richtigen) 404-Fehlers. Leider habe ich sehr wenig Verständnis dafür, was diese Umschreibungen tatsächlich bewirken. Daher weiß ich nicht, wie ich sie umschreiben kann, um diese Umleitung nur auszulösen, wenn das Dokument vorhanden ist.

Ich habe ein bisschen gelesen und bin mir nicht sicher, was Apache für eine "normale" Datei hält. Ich meine, es funktioniert, aber warum sollte nicht die erste Zeile sein-f anstatt!-f? Ist-u der einzige Weg, dies zu erreichen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage