Apache, dynamische Auslieferung von Content
sven
- webserver
0 sven
Hi!
Ich bastle grad an einem kleinen CMS-System, das vorlagen-basiert allen HTML-Inhalt ausliefern soll. Der Rest (Gif, JPG, CSS, ...) kommt vom Apache.
Folgende Lösungen zum Einbinden in Apache habe ich derzeit mehr oder weniger erfolgreich versucht:
ACTION:
Mit der Action-Direktive habe ich allen text/html Content den Handler /cgi-bin/cms.cgi zugewiesen
Läuft, aber nur für Dokumente, die es gibt. z.B. für index.htm, wenn es am Server liegt, aber nicht für xyz.htm, dass nicht am Server liegt.
Mehr ist ja wohl auch nicht Sinn dieser Direktive, also nix für mich
SCRIPT:
Mit dieser Direktive wird Content, der eine bestimmte HTTP-Request-Methode verwendet von einem Skript erzeugt.
Beispiel: SCRIPT PUT /cgi-bin/cms.cgi
Das Problem diesmal: Es läuft nur, wenn in der URI Parameter übergeben werden. Ein Seitenaufruf ohne Parameter, führt nicht zum CGI-Aufruf
mod_rewrite:
Also als letztes viel mir jetzt nur mod_rewrite ein. Irgendwie klappt das auch noch nicht ganz.
RewriteEngine On
RewriteRule (.*)?(.*) /cgi-bin/cms.cgi?path=$1&$2
Klappt nicht?!
RewriteRule (.*) /cgi-bin/cms.cgi?path=$1
funktioniert immerhin, aber wie ich sehe wird von der rewriteRule nur die URI bis zum ? beackert und nicht auch der Rest. Ich schaffe es also nicht das eventuelle Parameter auch mitgehen.
Is mein Apache da irgendwie schlecht konfiguriert, weil laut Doku sollte das nicht so sein, denke ich...
Aber vielleicht ist ja überhaupt mein Ansatz ganz dumm.
Auf kleine und größe Lichter wartend bzw. erleuchte mich auch gerne selbst bei gelegentlichem Schubser
danke
Sven
Hi!
Also ich habs jetzt so gelöst:
RewriteRule ^(.*)$ /cgi-bin/cms.cgi?path=$1&%{QUERY_STRING}
sven