Hilfe mit Apache2-Server-Konfiguration [gelöst]

Alles, was den Apache betrifft, kann hier besprochen werden.

Hilfe mit Apache2-Server-Konfiguration [gelöst]

Postby TosSat » 22. June 2008 20:15

Hi,

folgende Situation:

Auf meinem rootServer(OS: Debian etch 64Bit) habe ich einen Apache2(version: 2.2.3) installiert und es läuft alles prima, bis auf eine Kleinigkeit bei der ich Hilfe benötige.
Bei dieser Kleinigkeit geht es darum, dem Apache beizubringen, dass er bestimmte Dateien, die er bekommt, verarbeiten kann und entsprechend antwortet. Das Verarbeiten klappt super, aber es wird nicht der gewünschte Content-Type für die Response hinzugefügt. Folgendes soll passieren:

Anfrage .rhtml -> Antwort Content-Type: text/html
Anfrage .rjs -> Antwort Content-Type: text/plain
Anfrage .rxml -> Antwort Content-Type: application/xhtml+xml

Alle 3 Dateitypen enthalten rubyCode, die vom Apache durch den erubyInterpreter geschickt werden.

Folgenden Code hab ich in die apache2.conf eingefügt:
Code: Select all
 # ruby config
    <Files *.rhtml>
        AddHandler application/html-eruby .rhtml
        AddType text/html .rhtml
        Action application/html-eruby /cgi-bin/eruby
        Header add Content-Type "text/html"
    </Files>

    <Files *.rjs>
        AddHandler application/js-eruby .rjs
        AddType text/plain .rjs
        Action application/js-eruby /cgi-bin/eruby
        Header add Content-Type "text/plain"
    </Files>

    <Files *.rxml>
        AddHandler application/xml-eruby .rxml
        AddType application/xhtml+xml .rxml
        Action application/xml-eruby /cgi-bin/eruby
        Header add Content-Type "application/xhtml+xml"
    </Files>


Nun ist der Content-Type in der Response aber immer der Standard-Content-Type, d.h. der Apache ignoriert die Direktiven für die 3 Dateiendungen. Hat jemand eine Idee dazu?

Vielen Dank
TosSat
Last edited by TosSat on 23. June 2008 16:41, edited 1 time in total.
TosSat
 
Posts: 4
Joined: 22. June 2008 19:48

Postby Nobbie » 22. June 2008 22:45

Lass doch mal diese überflüssige <files ..> Anweisung weg - das ist sowieso doppelt gemoppelt (weil es ja nur für Dateien mit den Endungen einen Handler gibt) und könnte die Fehlerursache sein. Eine sehr krude Logik, die möglicherweise in die Hose geht.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Postby TosSat » 23. June 2008 13:50

Danke für den ersten Hinweis. <Files...> weggelassen, aber es hat sich nichts getan.

Code sieht nun so aus:
Code: Select all
    AddHandler application/html-eruby .rhtml
    AddType text/html .rhtml
    Action application/html-eruby /cgi-bin/eruby
    Header add Content-Type "text/html"

    AddHandler application/js-eruby .rjs
    AddType text/plain .rjs
    Action application/js-eruby /cgi-bin/eruby
    Header add Content-Type "text/plain"

    AddHandler application/xml-eruby .rxml
    AddType application/xhtml+xml .rxml
    Action application/xml-eruby /cgi-bin/eruby
    Header add Content-Type "application/xhtml+xml"


Bin für weitere Vorschläge offen...

Danke
TosSat
TosSat
 
Posts: 4
Joined: 22. June 2008 19:48

Postby Wiedmann » 23. June 2008 14:01

<Files...> weggelassen,

Schlechte Idee bei dieser Config.

Ansonten würde ich vermuten, dass AddType hier unnötig ist, und anstatt "Header add" müsste es eher "Header set" sein (sofern dieser Handler überhaupt zum Zuge kommt. k.a.).

Alle 3 Dateitypen enthalten rubyCode, die vom Apache durch den erubyInterpreter geschickt werden.

Warum wird der korrekte Header nicht durch Ruby gesetzt?

(Tatsächlich weiss wohl jemand in einem (e)Ruby Forum hier evtl. besser Bescheid)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby TosSat » 23. June 2008 15:34

Also
Code: Select all
Header set...
bringts auch nicht, hatte ich scho probiert. ERuby scheint einen Content-Type zu setzen, aber eben den Standard-Content-Type der mir nicht viel bringt.

MFG
TosSat
TosSat
 
Posts: 4
Joined: 22. June 2008 19:48

Postby Wiedmann » 23. June 2008 15:50

ERuby scheint einen Content-Type zu setzen

Muss es zwangsläufug, ist ja ein CGI.

Und was ist damit?
Wiedmann wrote:Warum wird der korrekte Header nicht durch Ruby gesetzt?

(Macht man ja in jder anderen Scriptsprache ja auch normal direkt im Script)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby TosSat » 23. June 2008 16:40

Also ich habs jetzt so gelöst, dass ich im QuellCode von ERuby einfach das Setzen des Content-Type="text/html" auskommentiert habe. Dann greift nämlich auch "Header add..." aus der apache2.conf, bzw. gilt dann und alles klappt nun prima :D

Danke für eure Hilfe hier im Forum!

MFG
TosSat
TosSat
 
Posts: 4
Joined: 22. June 2008 19:48

Postby Nobbie » 23. June 2008 22:29

Wiedmann wrote:
<Files...> weggelassen,

Schlechte Idee bei dieser Config.


Ah ja, statt eine schlechte Config zu korrigieren soll man also weitere schlechte Anweisungen einfügen.

Interessant.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Postby Wiedmann » 23. June 2008 23:12

Ah ja, statt eine schlechte Config zu korrigieren

Er braucht ja für jede Dateiendung einen anderen Header. Also müssen die Header-Directiven in <Files>-Blöcken sein.

Warum er jetzt den Content-Type aber nach wie vor im Apache setzt, ist mir unklar. Die Zeile im Rubycode hat er ja wohl gefunden wo der richtige gesetzt werden kann (dann können auch die <Files>-Blöcke entfallen)

soll man also weitere schlechte Anweisungen einfügen.

Die da wären?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Nobbie » 24. June 2008 11:07

>Die da wären?

Eben die <files ..> und die Header Anweisung. Weil der Content Type üblicherweise vom CGI-Script gesetzt wird.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04


Return to Apache

Who is online

Users browsing this forum: No registered users and 16 guests