Hallo Patrick,
RewriteRule ^([1]*)$ $1.php
Mit Deinem gierigen RegExp wundert mich das nicht. Schau mal passiert:
^: Beginn des Strings (Nullzeichen)Nur hier gibst Du keine Begrenzung! Was passiert also? index wird zu index.php gewandelt, da greift aber wieder die RegExp: Im String index.php steht ja nichts davor (^), ist kein slash und kein Unterstrich enthalten ([1:1]), besteht aus 0 bis vielen Zeichen bis zum Stringende, also wird versucht wieder umzuleiten zu $1.php, was jetzt index.php.php ist und auch gematcht wird; nach ein paar mal hast Du index.php.php.php.php.php.php.php - und es passt immer noch zum Suchmuster. Die Ressource gibt es nicht.
Stimmt.
Aber genau deswegen gibt es doch die RewriteConds:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
Nur wenn es die Datei unter diesen Namen nicht gibt, wird weitergeleitet. Nach dem ersten Umleiten von index auf index.php sollte doch *eigentlich* daher nicht mehr umgeleitet werden - oder?
Grüße,
Willi