Hallo Christian,
Soweit bin ich fast einverstanden; allerdings kannst Du die Endung auch weglassen, [...].
Gute Idee, vereinfacht das Generieren der URLs erheblich.
Einigen wenigen Links hängen aber noch ein oder mehrer Zusatzparameter an. [...]
Hier stellt sich natürlich die Frage, ob solche "Zusatzinformationen" überhaupt indiziert werden sollen.
Eigentlich nicht.
Ich verstehe nicht ganz: Was spricht gegen
/kontakt?name=otto -> index.php?doc=/kontakt&name=otto
OK, das wäre: kontakt?name=otto -> index.php?doc=kontakt&name=otto
? Das lässt sich per mod_rewrite sehr leicht realisieren. (RewriteBase /, RewriteCond %{REQUEST_URI} !^/index.php, RewriteRule ^.* index.php?doc=$1 [L,QSA])
Wenn ich mich nicht täusche liefert dieser rewrite aber:
kontakt?name=otto -> index.php?doc=kontakt?name=otto
...und das macht glaube ich beim parsen Schwierigkeiten. Also entweder ich wandle das zweite "?" in ein "&" (wüsste im Moment aber nicht wie) oder da steht von vorne herein schon ein "&": kontakt&name=otto.
Gegen Standards: AFAIK Nein. Gegen Konventionen: ja. Und Du machst Dir das Leben unnötig kompliziert, weil Du den String dann selbst parsen müsstest; bei meiner Lösung oben macht das PHP für Dich automatisch...
Das verstößt zwar gegen eine Konvention, hält aber das rewrite schön einfach und gibt keine Parser-Probleme.
Gruß
Paul