Hallo sprite!
Warum machst du es nicht analog zu deinen bisherigen Rules?
Alle URLs fangen doch dann mit 'print' an?
Habe ich mir überlegt und im Moment wäre es gar nicht so ein riesiger Aufwand, aber in Zukunft werden sicherlich noch weitere RewriteRules dazukommen. Jede Regel zweifach zu haben, nur mit dem Unterschied, dass einer ein print/ vorangestellt wird, finde ich viel zusätzliche Regeln. Ich dachte es lässt sich vielleicht einfacher und schöner lösen.
Ja, z.B. nur mit einer einzigen RewriteRule und den Rest bspw. in einem PHP-Script. ;-)
Ich beschäftige mich auch seit einiger Zeit mit der Frage des "URL-Designs" und demzufolge auch mit mod_rewrite (was nicht bedeutet, dass ich davon wirklich Ahnung habe).
Einer der gravierendsten Nachteile von mod_rewrite ist, dass sämtliche Dinge außnahmslos bei_jedem_Request abgearbeitet werden müssen, was schnell zu spürbaren Performance-Einbußen führen kann. Ein weiterer Nachteil ist (imho), dass man nicht sehr flexibel ist, und dass die Gefahr unbeabsichtigter "Nebenwirkungen" mit jeder neuen Regel/ Kondition steigt.
Falls du aber mal in die Verlegenheit kommen solltest, dass deine URLs auch einen Query String enthalten, dürfte es nicht mehr funktionieren. Ein Einfügen des QSA Flags sollte imho Abhilfe schaffen.
Was mich auf eine Idee bringt: Hier liese sich ohne größeren Schreibaufwand eine Druckansicht einfügen:RewriteRule ^([a-z]{2})/([a-z_0-9]+)/? index.php?l=$1&content=$2 [QSA,L]
RewriteRule ^([a-z]{2})/([a-z_0-9]+)/([a-z_0-9]+)/? index.php?l=$1&content=$2§ion=$3 [QSA,L]
RewriteRule ^([a-z]{2})/([a-z_0-9]+)/([a-z_0-9]+)/([a-z_0-9]+).html$ index.php?l=$1&content=$2§ion=$3&page=$4 [QSA,L]Durch folgende Aufrufe würde die Druckansicht verwendet, richtig?:
meineurl.com/de/home(/)?print
meineurl.com/de/news(/)?print
meineurl.com/de/news/cat1(/)?print
meineurl.com/de/news/cat1/page5.html?print
AFAIK muss es sich immer um Paare handeln, also Variablenname=Wert.
Ergo bspw.: print=1
Jedoch gefällt mir die erste Variante mit dem vorangestellten print/ besser. Gibt es eine Möglichkeit, diese zu realisieren ohne jede RewriteRule entsprechend zu duplizieren? Gerne auch entsprechende Lektüre-Links (:
Das ist einer der Punkte, den ich oben mit "nicht flexibel" meinte. Denn imho gibt es da keine (wesentlich) einfachere Möglichkeit, da du für jede Verzeichnistiefe/ Parameteranzahl eine eigene Rule brauchst.
Aber wie gesagt, ich bin nicht der Mod_Rewrite Profi. Falls ich mich irre, oder es andere Möglichkeiten gibt, wird dir hier bestimmt noch jemand anders antworten.
Gruß Gunther