Moin!
ich hab wieder leichte Verständnisschwierigkeiten. Deshalb erklär
ich mal, wie das ganze bisher funktioniert:
Der Aufruf der url "/_content/?site_id=138" über einen Link
innerhalb der Seite geht an diese zentrale Seite, die mit
einem DB-QUERY aus "site_id=138" den Pfad "/Impressum/"
ermittelt und dahin per header() weiterleitet. Beim Aufruf
der URL greift die RewriteRule:^Impressum/$ /_content/?site_id=138&%{QUERY_STRING}
... die dann ihrerseits dafür sorgt, dass der Inhalt der
ursprünglich angeforderten URL "/_content/?site_id=138"
angezeigt wird.... das hört sich für mich in etwa an, wie das, was du empfielst.
Nein, es ist genau das Umgekehrte von dem, was ich empfehle, aber genauso umgesetzt.
Ein Request auf die zentrale Datei (mutmaßlich steht hinter "/_content/" eine index.php) mit ID wird vom Skript weitergeleitet auf eine "schöne URL".
Dieser Teil ist ja ok, wenn es früher mal die ID-URLs gab, und Suchmaschinen die evtl. noch indiziert haben oder sie von anderswo her so verlinkt sind.
Aber dass dann vierhundert Rewrite-Rules wieder dafür sorgen, dass jede schöne URL zurück zu ihrer ID kommt - das ist eben komplett überflüssig.
Wenn dein Skript weiß, welche URL zur ID gehört, dann weiß es umgekehrt auch, welche ID zu einer gegebenen URL gehört.
Also reicht es aus, einfach "alle" Seiten (vielleicht nur die, die auf ".html" enden) mit einer einzigen Regel auf die zentrale index.php zu rewriten, und das Skript guckt dann nach, welche URL abgerufen wurde, welche ID dazu gehört, und gibt dann die passenden Inhalte aus. Wobei die ID dann ziemlich bedeutungslos wird, weil die ja für die Ausgabe vermutlich nicht gebraucht wird, und für den Suchprozess auch keine Bedeutung hat.
- Sven Rautenberg
"Love your nation - respect the others."