Paul Brunner: URL-Design

Beitrag lesen

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