Aber irgendwie scheint mir die Doku da nicht vollständig zu sein und zu 95% aus Beispielen zu bestehen. Ist z.B. das „[R]“ am Ende der Zeile nötig? Muss ich vorher „RewriteEngine on“ angeben?
Ein paar Tipps in die richtige Richtung wären klasse!
Bleibt dann eigentlich die eingegebene URL in der Adresszeile
stehen, oder wird da die geänderte URL stehen?
Das kannst du machen wie du willst.
Per defaults sind rewrites „intern“, d.h. die URL bleibt stehen.
Mit dem Flag [R] oder [R=301] wird daraus ein externer Redirect.
Mein Versuch ging in diese Richtung:
RewriteRule ^/(.*).html /page.php?p=($1)
Wenn das in der .htaccess steht, darf die Regex den führenden / nicht enthalten, also
RewriteRule ^(.\*).html$ /page.php?p=$1
(Die Klammern hinten könnten sich als störend erweisen, wenn du sie drinnen lässt).
Stimmt, das Modul sollte man natürlich dazu laden…dann klappts auch mit
dem Rewrite
Nur…mache ich 2 RewriteRules rein, lädt die Seite endlos.
RewriteEngine on
RewriteRule ^(.*).html$ /page.php?p=$1
RewriteRule ^(.*).php$ /page.php?p=$1
Wenn ich die zweite Zeile auskommentiere (#) funktioniert es astrein, wenn ich was mit „.html“ am Ende der URL eingebe. Hab ichs so in der .htaccess stehen, wie oben gezeigt, und lade eine Seite, die auf „.php“ endet, lädt der Browser sich zu Tode und nichts passiert…
Nur…mache ich 2 RewriteRules rein, lädt die Seite endlos.
RewriteEngine on
RewriteRule ^(.*).html$ /page.php?p=$1
RewriteRule ^(.*).php$ /page.php?p=$1
Liegt das daran, dass wenn ich irgendwas.php aufrufe, er versucht, page.php?p=irgendwas aufzurufen, das aber wieder aufgrund der selben RewriteRule versucht zu verändern und damit in eine Endlosschleife läuft?