hi,
RewriteRule ^(.*).html$ index.php
leite ich alle Anfragen mit *.html an die index.php. Das funktioniert einwandfrei.
Nein, das arbeitet fehlerhaft, nur dass du den Fehlerfall anscheinend nicht ausreichend getestet hast. Der Punkt ist ein Sonderzeichen. Er kann nicht einmal für ein beliebiges Zeichen stehen und einmal für sich selbst, ohne dass konkret gekennzeichnet ist, was genau gewünscht ist. In deinem Fall steht der zweite Punkt ebenfalls für ein beliebiges Zeichen. Ihn auf einen Punkt einzuschränken verlangt, ihn mit einem vorangehenden Backslash zu notieren.
Sei sogut und schreib mal auf, wie das richtig lauten muss.Sei so gut und trainiere dein Leseverständnis oder sag mir, was an meiner Aussage, den zweiten Punkt - oder allgemein alle Punkte, die für sich selbst stehen sollen - mit einem vorangehenden Backslash zu notieren, so unverständlich ist, dass man dafür noch ein explizites Beispiel benötigt?
Ich brauche das Beispiel, damit ich den Unterschied besser erkennen kann. Zum Testen habe ich Perl genommen:
my $s = 'foo.html';
$s =~ /^(.*).html$/;
print "$&\n"; # foo.html
$s =~ /^(.*)\.html$/;
print "$&\n"; # same as above
$& (alias $MATCH) beeinhaltet in beiden Fällen 'foo.html'. Wo ist der Unterschied, oder anders gefragt: Warum führt das Nicht-Maskieren des zweiten Punkts zu einem Fehler?
Hotti