wenn über das IPS Simple Web Interface eine CSS-Datei anfordere, dann gibt mir der Webserver als Mime-Type text/html anstatt text/css. Läuft nun der Browser nicht im Quirks-Mode sondern z.B. mit DTD XHTML 1.0 Strict, dann wird das Stylesheet nicht geladen, sondern es landet nur eine Fehlermeldunng auf der Error-Console. Ein manuelles Anfordern des Stylesheets über Telnet auf Port 80 und HTTP-By-Hand zeigt
slash@kiste:~$ telnet ipsymcon-host 80
Trying 192.168.1.100…
Connected to ipsymcon-host.domain.
Escape character is ‚^]‘.
GET /some_css.css HTTP/1.0
HTTP/1.1 200 OK
Connection: close
Content-Type: text/html
Content-Length: 1234
Server: Indy/10.0.52
[…]
Gibt es einen Dreh, dem Server text/css für Dateien mit der Endung .CSS zu geben? In der Registry ist unter HKCR.css „Content Type“ auf „text/css“ gesetzt.
text/html ist der default type. den kann man mit der header()-Funktion überschreiben. Also ein eigenes php-File anlegen, was den benötigten Mime-Typ sendet und die css-Datei gleich mit. Alternativ könnte man die css-Dateien über einen „richtigen“ Webserver ausliefern.
Bisher war mir aber nicht bewusst, das z.B. ein Apache bei einer css-Datei diesen Typ mitsendet.
…das mit der php-Variante habe ich bereits gemacht, aber bei inkludierten Frameworks mit *zig Dateien ist das ziemlich aufwändig, und bei Updates muss man das alles nachziehen. Von einem anderen Webserver ausliefern lassen würde bedeuten, dass ich alle CSS-Includes umstricken muss Natürlich auch alle Includes in o.g. Frameworks.
Wenn es keinen einfachen Weg gibt, dann müsste ich alles durch einen Apachen mit Reverse-Proxy laufen lassen