Moin Sven,
Ok, ich hab Deinen, den umgekehrten Ansatz, vorhin nochmal
durchdacht und glaube, ihn verstanden zu haben:
------------------------------------------------------------
Eine RewriteRule sorgt dafür, dass jede "schöne URL" z.B.:
"http://sub.domain.net/Unsere_Leistungen/Leistungen_von_A-Z/"
auf:
"http://sub.domain.net/_content/index.php"
... zeigt, die dann aus der REQUEST_URI per Script die site_id,
ermittelt, die ich für die Darstellung der Contents benötige.
-------------------------------------------------------------
Der Vorteil ist natürlich zum Einen, dass man sich 400 RewriteRules spart (Stellt sich mir die Frage, ob das problematisch ist ?), zum anderen, dass keine Umleitung per header("location:") stattfinden muss.
Meine Lösung ist fogendermassen entstanden:
------------------------------------------------------------
Ich habe eine Anwedung gebaut, mit einem selbstgeschusterten CMS
basierend auf tinyMCE gebaut. Der Content eben dieser 400 Seiten
steckt als XHTML in einer MySQL-DB. Der Content ist durch den
Kunden eingepflegt worden, bevor die Anwendung drum herum fertig war. Alle Links lauten "./?site_id=<irgendwas zwischen 1 und 400>
Ich habe dann mod_rewrite, mit dem ich bis dahin noch nicht gearbeitet hatte und von dem ich nicht wusste, ob es zur Verfügung steht, "draufgesetzt".
------------------------------------------------------------
Der Vorteil dabei ist, dass die Anwendung ohne mod_rewrite
funktioniert.
ich könnte meine Lösung nach Deiner Empfehlung umstricken:
------------------------------------------------------------
1)
Ich könnte die 400 RewriteRules eliminieren, indem ich sie auf
eine beschränke, die grundsätzlich auf en zentrales Dokument
("/_content/index.php") zeigt, dort ein Script einsezen, dass
aus der REQUEST_URI die zugehörige site_id, die benötigt wird
aus der Datenbank holt.
-> Da stellt sich die Frage, was den Server mehr beansprucht.
Das Script abzuarbeiten, oder 400 Rules zu "lesen".
Den Content könnte ich ausserdem mit einem ähnlichen Script dahingehend parsen, dass die Links direkt "schöne URLs" sind,
statt mit dem gleichen Script die URL für die per header("location:") zu ermitteln.
-> da stellt sich die Frage, ob das Script für das parsen oder
für die Ermittlung der URL für die Umleitung mehr Action für
den Server bedeutet. Die Umleitung würde man sich aber sparen.
Ich könnte das CMS dahingehend umbauen, dass schon dort die
richtigen "schönen URLs" eingesetzt werden. Das würde die
Anwendung abhängig von mod_rewrite machen, aber das parsen
aus Schritt 2 würde wegfallen.
Ergo:
-----
Wenn ich bereit bin, mal unabhängig vom Aufand des Umbaus, mich abhängig von "mod_rewrite" zu machen, könnte ich auf 400 Rewrite
Rules verzichten und gegen ein Script ersetzen. Weiterhin könnte
ich anstelle meines Scripts, dass mir beim Aufruf einer "unschönen"
URL die "schöne" ermittelt und dann dahin umleitet, ein Script
schreiben, dass diese Umleitung spart indem es den gesamten Content
parsed, also für jeden unschönen Link den schönen ermittelt und ersetzt. Der dritte Schritt, der den zweiten spart funktioniert
nicht, weil sich die Links auf eine Seite ändern, sobald sich
z.B. der Titel ändert.
Ich danke Dir für Deine Empfehlung aber ich kann mir nicht
vorstellen, dass sie für meine Anwendung unter all diesen
Aspekten noch richtig ist (ausser die 400 Rules sind
wirklich problematisch)... und ich bin vor Allem gespannt
auf Deine Meinung.
Eine gute Nacht und
beste gruesse,
martin