Mumf: htaccess - RewriteRules

Beitrag lesen

RewriteEngine on
RewriteCond %{REQUEST_URI} (.*).html$
RewriteRule (.*).html$ $1.php

Das ist unsinnig. Du prüfst erst mittels RewriteRule, ob die URL auf .html endet und prüfst anschließend nochmals mittels RewriteCond, ob die URL auf .html endet. Traust du RewriteRule nicht?

Ein Muster mit .* zu beginnen ist weiterhin im Allgemeinen unnötig. Die Ausnahme ist dein RewriteRule-Fall, da du dort mit den runden Klammern etwas für die spätere Verwendung in $1 aufnehmen möchtest.

Darüber hinaus ist mit dieser Konstruktion zumindest theoretisch jede Seite zweimal vorhanden, einmal unter der .php-URL, einmal unter der .html-URL, du kannst keine Dateien mehr ansprechen, die tatsächlich auf .html enden, und genau genommen frisst sie unnötigerweise auch noch Resourcen.
In der PHP-Anleitung (Beispiel 4.4, Punkt 15) steht, wie du, sofern du einen Apache-Webserver benutzt, dein Vorhaben mit AddType sauberer angehst.

Und last but not least ist der Vorteil, Seiten auf .html enden zu lassen, wenn überhaupt, dann rein kosmetischer Natur - nicht, dass du auf irgendwelches Geschwätz reinfällst, das dir bessere Suchmaschinenpositionierung verspricht.

aus
http://meine-domain.de?irgendeinname/
soll
http://meine-domain.de/verzeichnis/irgendeinname/
werden.

Hab folgendes unter oben genannte Anweisung gesetzt:
RewriteCond %{REQUEST_URI} (.*)?(.*)/$
RewriteRule (.*)?(.*)/$ $1/verzeichnis/$2

Alles doppelt aufzuschreiben solltest du wirklich unterlassen.

Hab Ihr eine Idee?

Schau in die Bedienungsanleitung zu RewriteCond. RewriteRule verarbeitet nur den Pfad, keine Parameter.