Dateiendung .hmtl .xhtml .php
matrix1977
- html
Hallo allerseits,
ich hab folgendes Problem,
wenn ich eine Datei beginnend mit:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-type" content="application/xhtml+xml; charset=UTF-8" />
<title>bla bla</title>
<link rel="StyleSheet" href="teststyle_float.css" type="text/css" media="screen" />
</head>
<body>
blabla
als .html Datei speicher, dann wird sie vom Firefox 0.8 nicht korrekt angezeigt (die Floats für die Boxen aus dem CSS2 Box-Modell funktionieren nicht), ausserdem interessiert es auch herzlich wenig, ob ich xhtml-konform schreibe, zum Beispiel erzeugt <br> keinen Fehler obwohl es <br /> sein muss ! Speicher ich die Datei jedoch als .xhtml Datei, wird sie korrekt vom Browser angezeigt, die CSS2 Elemente funktionieren einwandfrei und nun gibts auch Fehler vom XML-Parser, wenn er nicht geschlossene Tags findet. Nun kann es mir eigentlich egal sein, ob meine Datei .html oder .xhtml heißt, problematisch wird's aber, wenn ich php-Code einbauen möchte und die Datei dann zu .php umbenannt wird, denn dann habe ich dasselbe, nicht funktionierende Ergebnis wie mit der .html Endung.
Dabei habe ich in mehreren Foren gelesen, dass die Dateiendung prinzipiell egal ist, da im DOCTYPE definiert ist, dass es sich um ein xhtml File handelt. Wieso funktioniert das dann aber nicht mit Dateiendungen ungleich .xhtml ?
Gruß
matrix1977
wenn ich eine Datei [...] als .html Datei speicher, dann wird sie vom Firefox 0.8 nicht korrekt angezeigt (die Floats für die Boxen aus dem CSS2 Box-Modell funktionieren nicht), ausserdem interessiert es auch herzlich wenig, ob ich xhtml-konform schreibe, zum Beispiel erzeugt <br> keinen Fehler obwohl es <br /> sein muss ! Speicher ich die Datei jedoch als .xhtml Datei, wird sie korrekt vom Browser angezeigt, die CSS2 Elemente funktionieren einwandfrei und nun gibts auch Fehler vom XML-Parser, wenn er nicht geschlossene Tags findet.
Öffnest du das Dokument lokal, oder lässt du es von einem WebServer ausliefern?
Falls ersteres, dürfte es wohl tatsächlich ein Bug sein..
Falls letzteres, könnte allerdings auch der WebServer daran schuld sein. Im Konfliktfall bevorzugt Firebird den im HTTP-Header angegebenen MIME-Typ gegenüber den im Dokument angegebenem.. Wenn dein Webserver jetzt den MIME-Typ anhand der Dateiendung bestimmt, haben wir den Schlamassel. :)
Eigtl. sollten Webserver den im meta-Tag angegebenen MIME-Typ übernehmen.. Scheinbar tun das nicht alle.
»»Nun kann es mir eigentlich egal sein, ob meine Datei .html oder .xhtml heißt, problematisch wird's aber, wenn ich php-Code einbauen möchte und die Datei dann zu .php umbenannt wird, denn dann habe ich dasselbe, nicht funktionierende Ergebnis wie mit der .html Endung.
header("Content-type: application/xhtml+xml; charset=UTF-8");
Gruß
matrix1977
Grüße aus Niederösterreich,
hi,
wenn ich ganz am Anfang der php-Datei
header("Content-type: application/xhtml+xml; charset=UTF-8");
einfüge, dann kommt folgenden Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at /test_float.php:1) in /test_float.php on line 2
Die php-Datei sieht so aus:
<?php
header("Content-type: application/xhtml+xml; charset=UTF-8");
print "<?xml version="1.0" encoding="UTF-8"?>\n";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-type" content="application/xhtml+xml; charset=UTF-8" />
<title>bla bla</title>
<link rel="StyleSheet" href="teststyle_float.css" type="text/css" media="screen" >
</head>
<body>
hm.. kann ich nicht ganz nachvollziehen.
es gibt allerdings für header() einige Einschränkungen, vlt. hast du ja eine davon nicht eingehalten?
http://at.php.net/manual/de/function.header.php
Hallo,
Eigtl. sollten Webserver den im meta-Tag angegebenen MIME-Typ übernehmen.. Scheinbar tun das nicht alle.
Welche tun das überhaupt und mit welcher Einstellung?
header("Content-type: application/xhtml+xml; charset=UTF-8");
Das mag Firefox zufriedenstellen, aber es sperrt gleichzeitig die Mehrheit der Surfer aus, weil andere Browser diesen Inhaltstyp nicht verstehen bzw. korrekt mit dem Inhalt umgehen.
Mathias
Eigtl. sollten Webserver den im meta-Tag angegebenen MIME-Typ übernehmen.. Scheinbar tun das nicht alle.
Welche tun das überhaupt und mit welcher Einstellung?
Sorry, k. A.
Bin selbst nur durch Zufall über die Information gestoßen; hatte ein Problem ganz ähnlich dem des Threaderstellers.
header("Content-type: application/xhtml+xml; charset=UTF-8");
Das mag Firefox zufriedenstellen, aber es sperrt gleichzeitig die Mehrheit der Surfer aus, weil andere Browser diesen Inhaltstyp nicht verstehen bzw. korrekt mit dem Inhalt umgehen.
Selbst schuld, wer nen veralteten Browser einsetzt.
Aber gut das du es erwähnt hast, falls der Threadersteller nicht meine Auffassung teilt wird ihn das sicher interessieren. :)
Hallo,
<meta http-equiv="Content-type" content="application/xhtml+xml; charset=UTF-8" />
Die charset-Angabe in diesem meta-Element wird nur dann von Browsern zur Bestimmung der Kodierung verwendet, wenn die Seite als text/html ausgeliefert wird. Und dann ist die Angabe application/xhtml+xml widersprüchlich. Daher ist die Angabe des Inhaltstyps application/xhtml+xml in einem meta-Element wenig sinnvoll.
als .html Datei speicher, dann wird sie vom Firefox 0.8 nicht korrekt angezeigt (die Floats für die Boxen aus dem CSS2 Box-Modell funktionieren nicht)
Zur Lösung deines Problems wäre es relevanter, dass du die Seite zeigst, damit die Ursache dieses Verhaltens gefunden werden kann. Firefox rendert immer nach dem CSS2-Boxmodell und sollte diesbezüglich keine Unterschiede zwischen XHTML 1.0 Strict als text/html und XHTML 1.0 Strict als application/xhtml+xml an den Tag legen.
Speicher ich die Datei jedoch als .xhtml Datei, wird sie korrekt vom Browser angezeigt, die CSS2 Elemente funktionieren einwandfrei
Hast du untersucht, woran dieser Unterschied genau liegt? Bitte zeige einmal die gesamte Seite.
Mathias
Hallo Mathias
Ich habe alle 4 Variationen durchprobiert:
XHTML 1.0 Strict als text/html -> Datei gespeichert mit .html
XHTML 1.0 Strict als text/html -> Datei gespeichert mit .xhtml
XHTML 1.0 Strict als application/xhtml+xml -> Datei gespeichert mit .html
XHTML 1.0 Strict als application/xhtml+xml -> Datei gespeichert mit .xhtml
Firefox und Opera interpretieren die Datei nur dann richtig, wenn sie die Endung .xhtml trägt (egal ob als text/html oder application/xhtml+xml). Bei der Endung .html werden die Floats für das Box-Modell zerschossen, und, was noch viel schlimmer ist, der XML-Parser läuft überhaupt nicht, denn nicht geschlossene Tags lassen die beiden Browser völlig kalt, und das sowohl lokal auf meiner Kiste wie auch bei meinem Webhoster netclusive.
Mit der Dateiendung .xhtml funktioniert alles einwandfrei, auch der XML-Parser beschwert sich dann über nicht geschlossene Tags, wiederum sowohl bei mir lokal als auch bei meinem Webhoster.
Das kann doch eigentlich nicht sein oder ?? Was mach ich denn die ganze Zeit falsch ? Die Dateiendung sollte doch schnuppe sein, wenn meine Datei folgendermaßen anfängt:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
<title>blabla</title>
<link rel="StyleSheet" href="teststyle_float.css" type="text/css" media="screen" />
</head>
Wenn man die CSS2 Geschichte erst einmal vergißt, zumindest der XML-Parser sollte diese Datei doch interpretieren und sich auch beschweren, wenn zum Beispiel bei <link rel=.... das "/" Zeichen am Ende fehlt, tut er aber nicht, wenn die Dateiendung .html ist ! Warum ?
hi,
Ich habe alle 4 Variationen durchprobiert:
das beantwortet immer noch nicht die frage, ob du den content-type von deinem webserver im HTTP-header ausliefern lässt, oder ob du dich nur auf die angabe im meta-tag verlässt.
gruss,
wahsaga
hi,
Ich habe alle 4 Variationen durchprobiert:
das beantwortet immer noch nicht die frage, ob du den content-type von deinem webserver im HTTP-header ausliefern lässt, oder ob du dich nur auf die angabe im meta-tag verlässt.
ich verlass mich auf's meta-tag.
ich nutz einen WebServer bei einem Webhoster, nicht bei mir privat, wie kann ich den content-type des http-headers ermitteln von meinem Webhoster ?
Vielleicht mit einem php-Script mit headers_sent() ?
Wie kann ich überhaupt Einfluss darauf nehmen oder es umgehen, sollte mir der content-type nicht passen ?
Gruß
matrix1977
da fällt mir ein,
was passiert denn genau, wenn kein WebServer läuft ?
Also wenn ich die Dateien bei mir lokal öffne, dann nicht über den Aufruf über einen bei mir lokal laufenden Webserver sondern einfach nur durch Doppelklick auf die html bzw. xhtml Datei. Da wird doch dann überhaupt kein http-header übertragen oder ?
Gruß
matrix1977
Hallo,
was passiert denn genau, wenn kein WebServer läuft ?
Dann liest der Browser die Datei, so wie sie ist, ein.
PHP-Code bleibt ungeparst.
Der Browser schaut _vielleicht_, ob es ein Meta-Tag
mit Content-Type und/oder Charset-Angabe hat.
Oder er versucht zu raten.
Raten ist sowieso sehr beliebt beim MS IE,
auch bei Dokumenten, die ueber HTTP kommen:
http://ppewww.ph.gla.ac.uk/~flavell/www/content-type.html
Da wird doch dann überhaupt kein http-header übertragen oder ?
Genau.
Und es wird auch kein PHP-Code ausgefuehrt...
(vgl. 1. Posting und Thema des Threads)
Gruesse,
Thomas
Ok, ich hab mal meine Dateien auf dem Webserver mit dem Link
http://cgi.w3.org/cgi-bin/headers
getestet.
Heraus gekommen ist folgendes, der mime-typ in meinem meta-tag wird einfach ignoriert. Ist es nämlich eine .html datei, die ich aufrufe, ist der content-type im http-header "text/html" laut der HTTP HEAD Service Seite. Ist die Dateiendung aber xhtml, ist der content-type "application/xhtml+xml". In beiden Fällen hatte ich in meinem meta-tag aber "text/html" stehen.
Nun wird aber meine Seite nur dann richtig interpretiert (nicht geschlossene Tags führen zu Fehler des XML-Parsers zum Beispiel) wenn der content-type "application/xhtml+xml" ist, ist der content-type nur "text/html", stören nicht-xhtml konforme Ausdrücke nicht, wie zum Beispiel die nicht geschlossenen Tags. Wie krieg ich jetzt den content-type "application/xhtml+xml" im http-header hin ohne die Endung xhtml nutzen zu müssen, sondern zum Beispiel mit der Endung .html oder .php ?
Hallo,
Heraus gekommen ist folgendes, der mime-typ in meinem meta-tag wird einfach ignoriert.
Das erstaunt mich ueberhaupt nicht.
Ich weiss nicht, warum die Leute so geil sind auf Meta-Tags,
wenn es offensichtlich um Dinge geht, fuer die eigentlich
der Server zustaendig ist (HTTP-Header).
Und ich fragte mich, woher der (Aber)Glaube kommt, dass Meta-Tags
das Verhalten eines Webservers beeinflussen koennten...
Ich habe mich also auf die Suche gemacht und wieder
mal etwas dazu gelernt...
1. Beschreibung von META in HTML 3.2
http://www.w3.org/TR/REC-html32#meta
"HTTP servers may use the property name specified
by the HTTP-EQUIV attribute to create an
RFC 822 style header in the HTTP response"
2. Beschreibung von META in HTML 4.01
http://www.w3.org/TR/html401/struct/global.html#edef-META
"HTTP servers may use the property name specified
by the http-equiv attribute to create an
RFC822-style header in the HTTP response."
http://www.w3.org/TR/html401/struct/global.html#adef-http-equiv
"http-equiv
This attribute may be used in place of the name attribute.
HTTP servers use this attribute to gather information for
HTTP response message headers."
Das klingt, als ob alle Webserver das auch wirklich taeten.
Aber es steht AFAIK nirgends, dass sie es tun _muessen_ oder auch
nur _sollten_.
3. XHTML 1.0 Spec., Appendix C.9
http://www.w3.org/TR/xhtml1/#C_9
"Note: be aware that if a document must include the character
encoding declaration in a meta http-equiv statement, that
document may always be interpreted by HTTP servers and/or
user agents as being of the internet media type defined
in that statement."
Ich fand also keine offizielle Stelle, die sagt,
dass ein HTTP-Server die Meta-Tags in HTML-Dateien
beachten _muss_ (MUST) oder auch nur _sollte_ (SHOULD).
Stets ist nur die Rede von _kann/darf_ (MAY).
(In den zitierten Texten sind die Woerter _nicht_
grossgeschrieben, aber in den Einleitungen von
HTML 4.01 und XHTML 1.0 steht, dass sie trotzdem
gemaess RFC 2119 oder sinngemaess gemeint sind.)
In zahlreichen Aussagen zu Meta-Tags in SelfHTML
klingt es so, als ob man damit tatsaechlich das
Verhalten von vielen Webservern steuern koenne,
wobei das auch gleich wieder relativiert wird:
http://selfhtml.teamone.de/html/kopfdaten/meta.htm#allgemeines
"Als Autor der HTML-Datei können Sie auf diese Weise also
die Kommunikation zwischen Web-Server und Web-Browser
beeinflussen. Inwieweit Angaben dieser Art etwas bewirken,
hängt also vom Web-Server ab bzw. davon, ob er diese Daten
vor dem Übertragen der Datei an den Browser ausliest oder nicht."
Gemaess meinen Tests ignoriert zumindest der (weit verbreitete)
Apache 1.3.x die Meta-Tags (z.B. das Beispiel aus der
HTML 4.01 Specification), d.h. er macht daraus keine
HTTP-Header.
Es nimmt mich wunder, ob ueberhaupt ein real existierender
Webserver wirklich in die HTML-Dateien reinguckt und aus
den Meta-Tags HTTP-Header macht.
Ist es nämlich eine .html datei, die ich aufrufe, ist der content-type im http-header "text/html" laut der HTTP HEAD Service Seite. Ist die Dateiendung aber xhtml, ist der content-type "application/xhtml+xml".
Das liegt vermutlich an der Server-Konfiguration.
In beiden Fällen hatte ich in meinem meta-tag aber "text/html" stehen.
IMHO irrelevant.
Nun wird aber meine Seite nur dann richtig interpretiert (nicht geschlossene Tags führen zu Fehler des XML-Parsers zum Beispiel) wenn der content-type "application/xhtml+xml" ist,
Ob das "richtig" ist, sei mal dahingestellt.
_Du_ moechtest, dass Dein XHTML "streng" behandelt wird.
Und dass der MS IE es zum Download anbietet, statt
das Dokument anzuzeigen...
Zur Frage, mit welchem Content-Type man XHTML ausliefern sollte,
stehen ein paar Links im bereits genannten Thread: [pref:t=77771&m=449928]
ist der content-type nur "text/html", stören nicht-xhtml konforme Ausdrücke nicht, wie zum Beispiel die nicht geschlossenen Tags.
text/html wird von den Browsern als Tag-Soup interpretiert
und dementsprechend versuchen sie, moeglichst viele Fehler
zu tolerieren...
Wie krieg ich jetzt den content-type "application/xhtml+xml" im http-header hin ohne die Endung xhtml nutzen zu müssen, sondern zum Beispiel mit der Endung .html oder .php ?
Das schrieb ich doch schon in [pref:t=77822&m=450035]
RTFM.
Wenn es ein Apache ist, kannst Du meist mit AddType in der
.htaccess den MIME-Type bestimmen.
http://httpd.apache.org/docs/mod/mod_mime.html#addtype
http://httpd.apache.org/docs-2.0/mod/mod_mime.html#addtype
Wenn Du endlich die URL oder wenigstens den
Server-Typ verraten wuerdest, muessten wir
weniger glaskugeln...
Gruesse,
Thomas
Also erstmal vielen Dank für Eure bisherige Hilfe !!
Nun, irgendwie versteh ich das wohl nicht recht, kann ich die .htaccess Datei denn editieren von meinem Webhoster ? Ich denke eher nicht.
Also hier nun die Adresse:
http://ncg155.phoebe.netclusive.de/matrix1977/Version_3/test_float.xhtml
http://ncg155.phoebe.netclusive.de/matrix1977/Version_3/test_float.html
Beide Dateien sind bis auf ihre Extension 100% identisch.
Bei der einen (xhtml) sieht alles korrekt im Firefox/Opera aus, bei der anderen (html) kriegt er das mit den Floats nicht mehr gebacken, offene Tags stören ihn auch nicht. Der MIME-Typ ist halt der falsche ... doch ohne Zugriff auf die .htaccess Datei hab ich wohl keine Chance oder ?
Gruß
matrix1977
Ok, ich habe jetzt eine .htaccess Datei angelegt mit
Addtype application/xhtml+xml .html
Und tatsächlich scheint jetzt auch der richtige MIME-Type anzukommen, jedenfalls sagt mir das die HTTP HEAD Service Seite, doch dem Browser scheint es nach wie vor egal zu sein, der stellt die Seite trotzdem nicht korrekt da
ES FUNKTIONIERT !!
Nochmals vielen Dank an alle
Die Browser bekommen nun den richtigen Mime-Type im HTTP-Header.
Kann ich das meta-tag nun völlig weglassen ?
Gruß
matrix1977
Es funktioniert leider doch nicht ganz.
Ich hab in die htaccess Datei folgendes eingetragen
Addtype application/xhtml+xml .html .htm .php
Nun kommt immer der korrekte MIME-Type an, allerdings werden jetzt .php Dateien nicht mehr vom PHP-Parser interpretiert, sondern kommen unverändert beim Browser an. Der XML-Parser kann natürlich mit PHP-Elementen nix anfangen und gibt ne Fehlermeldung raus. Nehme ich aus dem Addtype-Command .php wieder raus, funzt der PHP-Parser wieder, aber der falsche MIME-Type kommt wieder an -> der XML-Parser läuft nicht.
Man, ist es denn wirklich so schwer ???
Kann da vielleicht nochmal jemand was zu sagen ?
Gruß
matrix1977
Hallo,
Ich hab in die htaccess Datei folgendes eingetragen
Addtype application/xhtml+xml .html .htm .phpNun kommt immer der korrekte MIME-Type an, allerdings werden jetzt .php Dateien nicht mehr vom PHP-Parser interpretiert, sondern kommen unverändert beim Browser an.
Das ist normal.
In der httpd.conf (Konfigurations-Datei fuer den Apache-Webserver)
steht vermutlich etwa folgendes:
AddType application/x-httpd-php .php
Damit weiss der Webserver, dass er Dateien mit der Endigung .php
durch den PHP-Parser schicken soll.
Jetzt sagst Du dem Webserver auf Verzeichnis-Ebene mit Deiner AddType Direktive
(s. oben), dass er Dateien mit den Endigungen .html, .htm und .php direkt ausliefern
soll, und zwar mit dem Content-Type application/xhtml+xml.
Somit werden diese Dateien nicht mehr durch den PHP-Parser geschickt.
[...] Nehme ich aus dem Addtype-Command .php wieder raus, funzt der PHP-Parser wieder, aber der falsche MIME-Type kommt wieder an -> der XML-Parser läuft nicht.
Auch das ist fuer mich voellig logisch. Ich schrieb doch schon in [pref:t=77822&m=450035]:
PHP-Skripten schicken normalerweise text/html,
es sei denn, Du schickst im Skript ausdruecklich
einen anderen Header.
Welchen Content-Type ein PHP-Skript normalerweise schickt, haengt
von der Einstellung der Konfigurations-Option default_mimetype ab.
Deren Standard-Wert ist SAPI_DEFAULT_MIMETYPE.
Ich vermutet, dass das bedeutet, dass PHP sich beim Webserver
nach dem Standard-MIME-Type "erkundigt" und diesen uebernimmt.
phpinfo() zeigt Dir an, welchen Wert default_mimetype bei Dir hat.
default_mimetype ist aenderbar in PHP_INI_ALL, also z.B. auch
in der .htaccess oder im Skript selbst per ini_set().
http://www.php.net/manual/de/function.ini-set.php
Um fuer alle PHP-Skripts eines Verzeichnisses zu bewirken,
dass deren Ausgabe mit dem Content-Type application/xhtml+xml
ausgeliefert wird, kannst Du es mit folgendem Eintrag in der
.htaccess versuchen (nicht ausprobiert, ohne Gewaehr!):
php_value default_mimetype "application/xhtml+xml"
oder allenfalls
<IfModule mod_php4.c> php_value default_mimetype "application/xhtml+xml" </IfModule>
Siehe auch:
http://www.dclp-faq.de/q/q-konfiguration-laufzeit.html
Wenn Du einfach willst, dass die Ausgabe eines einzelnen PHP-Skripts
mit dem Content-Type application/xhtml+xml ausgeliefert wird, kannst Du
das am einfachsten im Skript selbst veranlassen:
header("Content-type: application/xhtml+xml");
http://www.php.net/manual/de/function.header.php
Gruesse,
Thomas
Hallo, VIELEN DANK, das du mir immer noch hilfst !!!! SUPER !!!
Also:
Wenn ich die header-Anweisung direkt ins Script mit einbaue, dann schaut es so bei mir aus:
<?php
header("Content-type: application/xhtml+xml");
print "<?xml version="1.0" encoding="UTF-8"?>\n";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
...
das Ganze führt bei mir aber zu folgendem Fehler, wenn ich die php-Datei aufrufe von meinem Webserver:
Warning: Cannot modify header information - headers already sent by (output started at /home/www/ncg155/html/matrix1977/Version_3/test_float.php:1) in /home/www/ncg155/html/matrix1977/Version_3/test_float.php on line 2
Die Idee, direkt in die .htaccess Datei
php_value default_mimetype "application/xhtml+xml" oder
<IfModule mod_php4.c> php_value default_mimetype "application/xhtml+xml" </IfModule>
reinzuschreiben führt zum totalen Crash :-)
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, root@phoebe.netclusive.de and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
An die PHP_INI_ALL komm ich nicht heran, netclusive (mein Webhoster) lässt mich nicht, jedenfalls nicht, dass ich wüßte.
Über phpinfo() sehe ich, dass der default_mime_type text/html ist.
Wie würde die Syntax für den ini_set Befehl aussehen ?
etwas so ?
ini_set("default_mimetype","application/xhtml+xml") ?
Gruß
matrix1977
Hallo,
Hallo, VIELEN DANK, das du mir immer noch hilfst !!!! SUPER !!!
Gerngeschehen. ;-)
Warning: Cannot modify header information - headers already sent [...]
Vermutlich hast Du ein paar Leerzeichen/-Zeilen, bevor Du den PHP-Bereich oeffnest...
http://www.dclp-faq.de/q/q-fehler-header.html
Die Idee, direkt in die .htaccess Datei
php_value default_mimetype "application/xhtml+xml" oder
<IfModule mod_php4.c> php_value default_mimetype "application/xhtml+xml" </IfModule>
reinzuschreiben führt zum totalen Crash :-)Internal Server Error
Aha. Ich ahnte, dass diese Methode vom Goodwill des
Servers bzw. des Webmasters abhaengt... ;-)
(Einstellungen von OllowOverride in der httpd.conf)
Die Methode der PHP-Konfiguration mit .htaccess ist uebrigens
hier dokumentiert:
http://www.php.net/manual/de/configuration.changes.php
An die PHP_INI_ALL komm ich nicht heran, netclusive (mein Webhoster) lässt mich nicht, jedenfalls nicht, dass ich wüßte.
Die Konfigurationsdatei fuer PHP heisst php.ini
Die Konfigurationsdatei fuer den Apache heisst httpd.conf
An beide kommst Du als Webspace-Mieter normalerweise
nicht ran.
PHP_INI_ALL in der Spalte "changeable" ("aenderbar") auf
http://www.php.net/manual/de/function.ini-set.php
heisst gemaess der Erklaerung dort ganz unten, dass man
die betreffende Konfigurations-Option ueberall aendern kann,
d.h.
a) in der php.ini
b) in der httpd.conf
c) in der .htaccess fuer ein Verzeichnis samt Unterverzeichnissen
d) im Skript selbst mit ini_set()
a) und b) sind bei gemietetem Webspace fuer den Kunden normalerweise
nicht moeglich.
Also bleibt c) - was offenbar bei Dir nicht funktioniert.
Oder eben d).
Wie würde die Syntax für den ini_set Befehl aussehen ?
ini_set("default_mimetype","application/xhtml+xml") ?
Ja, damit sollte es IMHO klappen.
Probier' es einfach mal aus - natuerlich dann ohne zusaetzlichen
header() Befehl, aber ebenfalls am Anfang des Skripts, bevor irgend
etwas zum Browser geschickt wurde, sonst kommt der Befehl zu spaet.
Gruesse,
Thomas
Vermutlich hast Du ein paar Leerzeichen/-Zeilen, bevor Du den PHP-Bereich oeffnest...
http://www.dclp-faq.de/q/q-fehler-header.html
Nein hab ich nicht, darauf hab ich extra geachtet, dass allererste Zeichen meiner Datei ist "<" (von "<?php") Es steht GANZ am Anfang. Ich versteh das nicht, er kommt mir immer mit der Meldung, dass der Header schon gesendet wurde ...
Die ini_set() Methode statt der header Methode funtkioniert auch nicht, er scheint es einfach zu ignorieren.
So langsam bin ich echt am verwzeifeln :-(
Ich werd mal meinen Webhoster anmailen und mal fragen, ob ich nicht per .htaccess den php default_mimetype ändern darf.
Wenn ich nur wüßte, warum die header oder ini_set Methode nicht funktionieren .... kann ich dir vielleicht mal einen Screenshot von meiner php-Datei schicken oder die Datei selbst ? So, wie ich sie auf den Webserver hochgeladen habe.
Auch vielen Dank für die ganzen Links. Für mich als Newbie auf diesem Gebiet haben sie einiges Licht ins Dunkle gebracht !
Gruß
matrix1977
Hallo,
Vermutlich hast Du ein paar Leerzeichen/-Zeilen, bevor Du den PHP-Bereich oeffnest...
Nein hab ich nicht, darauf hab ich extra geachtet, dass allererste Zeichen meiner Datei ist "<" (von "<?php") Es steht GANZ am Anfang.
Bist Du ganz, ganz sicher?
Manche Editoren bauen am Anfang irgend so ein Zeugs ein,
das mit UTF/Unicode zu tun hat.
Welchen Editor verwendest Du?
Oeffne die Datei mal mit einem anderen Editor, z.B. Notepad oder Phase 5.
Am besten schaust Du die Datei mal mit einem sogenannten
Hex-Editor / Hex-Viewer an!
Z.B. mit http://www.hexedit2000.de/ oder so.
Dort siehst Du Byte fuer Byte, was die Datei enthaelt.
Nur so kannst Du ganz, ganz sicher sein, dass sie
wirklich direkt mit PHP anfaengt.
Die ini_set() Methode statt der header Methode funtkioniert auch nicht, er scheint es einfach zu ignorieren.
Wenn die Header schon geschickt wurden, kommt jeder Versuch,
sie mit ini_set() zu aendern, zu spaet...
Ich werd mal meinen Webhoster anmailen und mal fragen, ob ich nicht per .htaccess den php default_mimetype ändern darf.
Finde ich nicht sehr schlau.
Kannst Du mir bitte endlich (noch) einmal erklaeren, _warum_ Du unbedingt
diesen MIME-Typ application/xhtml+xml schicken willst?
Er ist ja fuer 80 - 90% der "Browser" da draussen (d.h. MS IE) toedlich,
und somit nur fuer Testzwecke oder fuer Dinge sinnvoll, die Du mit Deinem
Browser als einziger Benutzer anguckst (oder noch eine Handvoll von
Deinen Bekannten, die ebenfalls mit einem XHTML-faehigen Browser
unterwegs sind).
kann ich dir vielleicht mal einen Screenshot von meiner php-Datei schicken oder die Datei selbst? So, wie ich sie auf den Webserver hochgeladen habe.
Ein Screenshot hilft auch nicht weiter, da die "boesen" Zeichen,
die offenbar in der Datei sind und dafuer sorgen, dass die Header
zu frueh rausgeschickt werden, "unsichtbar" sind.
Mails zu Fachfragen mag ich nicht. Hier im Forum wird diskutiert.
Also schick mir bitte nichts. Sondern stell allenfalls Dinge online
und poste hier die URL, bitte als Link (</faq/#Q-19>).
Um PHP-Quellcode fuer andere sichtbar zu machen,
kannst Du die Datei z.B. kopieren und umbenennen:
skript.php.txt
oder
skript.phps
Im ersten Fall wird der Quelltext als text/plain ausgeliefert.
(Der MS IE ist manchmal so daemlich, es trotzdem als
HTML zu interpretieren, anstatt es einfach anzuzeigen.)
Im zweiten Fall (der nicht immer funktioniert) wird der Quellcode
von einem PHP-Automatismus huebsch bunt angefaerbt und
als HTML-Quellcode (text/html) ausgeliefert.
Gruesse,
Thomas
Hallo,
nun funktioniert es ! Der Tip mit dem HEX-Editor ist gold wert, da standen doch tatsächlich noch 3 merkwürdige Zeichen am Anfang.
Warum will ich unbedingt application/xhtml+xml als MIME-Type ...
Nun, da steckt kein wirklich wichtiger Grund dahinter.
Erstens ist die Seite nur für mich und Bekannte/Verwandte, die Mozilla oder Opera oder Konqueror benutzen, diese Browser haben kein Problem damit. Der IE interessiert mich daher recht wenig.
Zweitens wollte ich mich unbedingt streng an XHTML halten, weil es einfach mal lernen wollte, und Erfahrung damit sammeln wollte, vor allem wo es Probleme bereitet. Die ganze Aktion hier mit dem MIME-Type ist schon mal ein großer Erfahrungswert für mich (ohne das jetzt negativ oder positiv bewerten zu wollen)
Drittens kapier ich nicht warum ein und diesselbe Datei mit dem MIME-Type text/html nicht korrekt angezeigt wird, mit application/xhtml+xml aber schon.
Hier ist die php-Datei vor der HEX-Editor Behandlung, also mit falsch übermittelten MIME-Typ:
http://ncg155.phoebe.netclusive.de/matrix1977/Version_3/test_float.php
und hier nach der HEX-Editor Behandlung, also mit korrektem MIME-Type
http://ncg155.phoebe.netclusive.de/matrix1977/Version_3/test_float_hex.php
letzters kannst du natürlich nicht mit dem IE öffnen. Ich hoffe, du hast einen Alternativ-Browser installiert.
Bis auf den übermitteln MIME-Typ sind die Dateien vollkommen identisch.
Gruß
matrix1977
Hallo,
nun funktioniert es ! Der Tip mit dem HEX-Editor ist gold wert, da standen doch tatsächlich noch 3 merkwürdige Zeichen am Anfang.
Das ist vermutlich das BOM-Zeugs von Unicode, das ein
uebereifriger HTML-Editor (welcher?) reingepflanzt hat.
Bei UTF-8, das Du ja verwendest, ist es AFAIK ueberfluessig.
Naehere Infos siehe:
http://www.unicode.org/unicode/faq/utf_bom.html
Mit Unicode kenne ich mich ueberhaupt nicht aus, und ich habe
jetzt gerade weder Zeit noch Lust, mich damit zu befassen.
Zweitens wollte ich mich unbedingt streng an XHTML halten, weil es einfach mal lernen wollte, und Erfahrung damit sammeln wollte, vor allem wo es Probleme bereitet.
Wie hier in zahlreichen Threads immer wieder geaeussert wurde,
ist nur rueckwaerts-kompatibles XHTML 1.0, das als text/html
ausgeliefert wird (sofern der Browser nicht ausdruecklich sagt,
dass er auch application/xhtml+xml akzeptiert), wirklich alltagstauglich.
Aber fuer Deine private Spielwiese darfst Du natuerlich andere
Regeln aufstellen...
Die ganze Aktion hier mit dem MIME-Type ist schon mal ein großer Erfahrungswert für mich (ohne das jetzt negativ oder positiv bewerten zu wollen)
Ja, anhand von so Problemen kann man eine ganze Menge
ueber HTML, HTTP, Apache, PHP und den Rest lernen... ;-)
Drittens kapier ich nicht warum ein und diesselbe Datei mit dem MIME-Type text/html nicht korrekt angezeigt wird, mit application/xhtml+xml aber schon.
Hier ist die php-Datei vor der HEX-Editor Behandlung, also mit falsch übermittelten MIME-Typ:
http://ncg155.phoebe.netclusive.de/matrix1977/Version_3/test_float.php
=> Bitte (</faq/#Q-19>) lesen und anwenden, danke.
http://ncg155.phoebe.netclusive.de/matrix1977/Version_3/test_float.php
Wird ausgeliefert als: text/html
Beginnt mit:
[Unsichtbaren Zeichen, evtl. BOM?]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-type" content="application/xhtml+xml; charset=UTF-8" />
<title>uni-matrix-01.de</title>
<link rel="StyleSheet" href="teststyle_float.css" type="text/css" media="screen" />
</head>
Es gibt also einen Widerspruch zwischen dem per HTTP uebermittelten
Content-Type und der Angabe im Meta-Tag.
Der Browser sollte den HTTP-Header IMHO staerker gewichten,
was Mozilla offenbar auch tut.
und hier nach der HEX-Editor Behandlung, also mit korrektem MIME-Type
http://ncg155.phoebe.netclusive.de/matrix1977/Version_3/test_float_hex.php
Wird ausgeliefert als application/xhtml+xml
Beginnt (hoffentlich) direkt mit:
<?xml version="1.0" encoding="UTF-8"?>
Bei beiden Dateien ist Mozilla im Standards compliance mode.
Am Doctype Switch (*) kann es also nicht liegen, dass er
die Dateien unterschiedlich darstellt.
letzters kannst du natürlich nicht mit dem IE öffnen. Ich hoffe, du hast einen Alternativ-Browser installiert.
Natuerlich! ;-) Ich arbeite die meiste Zeit unter Linux, und dort mit Mozilla 1.5.
Und auch unter Windows starte ich den MS IE nur noch, um meine eigenen
Seiten damit zu testen. Sonst surfe ich schon laengst mit Opera oder Mozilla.
Bis auf den übermitteln MIME-Typ sind die Dateien vollkommen identisch.
Aber eben der MIME-Typ macht es aus, ob der Browser die
Datei als kaputtes XHTML oder als kaputtes HTML behandelt...
Das ist zumindest meine Vermutung.
Gibt es auch Unterschiede in der Darstellung, wenn die Dateien
valide sind? Im Moment sind sie es ja nicht - Du hast Text,
der nicht in einem Block-Level-Element steht.
Gruesse,
Thomas
(*) Zum Thema Doctype Switch:
http://www.heise.de/ix/artikel/2004/03/136/
http://www.carsten-protsch.de/zwischennetz/doctype/
http://www.mozilla.org/docs/web-developer/quirks/
So !
Nun hab ich nochmal die Mängel beseitigt.
Kein Text mehr, der nicht innerhalb irgendwelcher Tags steht. Und der content-type im meta-tag bei der Datei, die mit dem HTTP-Header text/html kommt, ist nun auch text/html.
Dennoch, die eine Datei mit dem MIME-Type application/xhtml+xml wird korrekt dargestellt, die andere, mit MIME-Type text/html nicht. Dabei benutz ich gar nichts aufregendes in meinem Dokument. Mir ist absolut schleierhaft, wieso er die so zerschießt.
Mein Editor ist UltraEdit32 10.10c. Beide Dateien habe ich nochmal mit dem HEX-Editor nachbehandelt. Was nun ? :-)
Gruß
matrix1977
Hallo,
Was nun ? :-)
Back to the roots.
Du behauptest also, die folgenden beiden Dateien seien
(bis auf Content-Type in HTTP-Head und Meta-Tag) identisch:
http://ncg155.phoebe.netclusive.de/matrix1977/Version_3/test_float.php
http://ncg155.phoebe.netclusive.de/matrix1977/Version_3/test_float_hex.php
Stimmt aber nicht.
Sie laden zwei verschiedene Stylesheet-Dateien:
http://ncg155.phoebe.netclusive.de/matrix1977/Version_3/teststyle_float_11.css
http://ncg155.phoebe.netclusive.de/matrix1977/Version_3/teststyle_float.css
Und diese Dateien sind _nicht_ identisch.
Folgender Abschnitt kommt z.B. nur in einer der beiden Dateien vor:
div[class="menu_line"]
{
min-width: 1000px;
height: 39px;
}
Ich ueberlasse es Dir, die beiden Stylesheets im Detail
miteinander zu vergleichen...
Naja, ich hoffe, Du hast bei all dem Stochern im Dunkeln
trotzdem etwas profitiert, auch wenn die "Loesung" jetzt
eher banal bis peinlich ist. ;-)
Freundliche Gruesse
Thomas
Du behauptest also, die folgenden beiden Dateien seien
(bis auf Content-Type in HTTP-Head und Meta-Tag) identisch:
http://ncg155.phoebe.netclusive.de/matrix1977/Version_3/test_float.php
http://ncg155.phoebe.netclusive.de/matrix1977/Version_3/test_float_hex.phpStimmt aber nicht.
Sie laden zwei verschiedene Stylesheet-Dateien:
Ach verdammt !! :-)
keine Sorge, das hat damit nix zu tun !!!!!!!
Das waren nur Tests meinerseits die ich durchgeführt habe, um dahinter zu steigen, leider erfolgslos !!
JETZT sind es aber wirklich IDENTISCHE php und css Dateien, um die es hier geht (bis auf den MIME-Type).
Trotzdem funzt es nicht mit dem MIME-Type text/html
Nochmal sorry, für das andere Stylesheet, ich wußte aber zu diesem Zeitpunkt schon, dass es auch mit dem original Stylesheet nicht funtktioniert, also keine Sorge, ganz so dumm bin ich dann doch nicht :-)
Gruß
matrix1977
Hallo,
JETZT sind es aber wirklich IDENTISCHE php und css Dateien, um die es hier geht (bis auf den MIME-Type).
Es ist nicht entscheidend, ob sie vom Code her identisch sind. Durch die unterschiedliche Kennzeichnung, text/html und application/xhtml+xml, werden die Dokumente gemäß unterschiedlicher Regeln verarbeitet. Ein und dieselbe Syntax hat in XHTML eine andere Bedeutung als in HTML.
Die application/xhtml+xml-Datei sieht so aus:
<div class="menu_line">
<div id="menu_line_start" />
<div class="menu_line_links"><a href="test.html" class="top_menu">Forum</a></div>
<div class="menu_line_links"><a href="test.html" class="top_menu">Gästebuch</a></div>
<div class="menu_line_links"><a href="test.html" class="top_menu">Fotos</a></div>
<div class="menu_line_links"><a href="test.html" class="top_menu">Downloads</a></div>
<div class="menu_line_links"><a href="test.html" class="top_menu">Privat</a></div>
<div class="menu_line_links"><a href="test.html" class="top_menu">Webalizer</a></div>
<div class="menu_line_links"><a href="test.html" class="top_menu">Info</a></div>
<div class="menu_line_links"><a href="test.html" class="top_menu">News</a></div>
<div id="menu_line_end" />
</div>
<div id="menu_left" />
<div id="menu_bottom_png" />
<div id="menu_line_start" /> usw. ist, wie du weißt, in XML äquivalent zu <div id="menu_line_start"></div>. Nicht aber, wenn das Dokument nicht als XML, sondern als HTML/SGML verarbeitet wird. Der Code mag zwar derselbe sein, er wird aber anders verarbeitet und führt zu einem anderen Elementbaum. Obiger Code erzeugt als HTML verarbetiet im Mozilla folgende Verschachtelung:
<div class="menu_line">
<div id="menu_line_start">
<div class="menu_line_links"><a href="test.html" class="top_menu">Forum</a></div>
<div class="menu_line_links"><a href="test.html" class="top_menu">Gästebuch</a></div>
<div class="menu_line_links"><a href="test.html" class="top_menu">Fotos</a></div>
<div class="menu_line_links"><a href="test.html" class="top_menu">Downloads</a></div>
<div class="menu_line_links"><a href="test.html" class="top_menu">Privat</a></div>
<div class="menu_line_links"><a href="test.html" class="top_menu">Webalizer</a></div>
<div class="menu_line_links"><a href="test.html" class="top_menu">Info</a></div>
<div class="menu_line_links"><a href="test.html" class="top_menu">News</a></div>
<div id="menu_line_end"></div>
<div id="menu_left">
<div id="menu_bottom_png"></div>
</div>
</div>
</div>
<div id="menu_line_start" /> usw. werden also als Start-Tags angesehen, nicht als gesamtes Element <div id="menu_line_start"></div>. Da bei dieser Interpretation am Ende die schließenden Tags fehlen, fügt sie Mozilla automatisch ein.
Es ist logisch, dass dein CSS mit diesem Elementbaum nicht funktioniert. Wie gesagt solltest du die XHTML 1.0-Kompatibilitätsrichlinien beachten. Dort wird darauf hingewiesen, dass <div /> und ähnliches nicht zu empfehlen ist: http://www.w3.org/TR/xhtml1/#C_3. Die triviale Lösung für dein Problem sollte also sein, <div id="menu_line_start"></div> usw. statt <div id="menu_line_start" /> zu notieren, dann sollte der Code auch bei Verarbeitung als HTML den Elementbaum erzeugen, den du beabsichtigst.
Mathias
Danke !!
Das ist es !! Man, also entweder man hat selbst etwas Erfahrung oder bekommt Hilfe von anderen, aber als Newbie sich alleine da durchzukämpfen ist echt extrem zeitaufwendig, vielleicht wäre ich auch irgendwann selbst drauf gekommen, keine Ahnung, aber im Moment jedenfalls sah es eher weniger danach aus.
Also nochmals vielen Dank ! Die Lösung ist eigentlich schon trivial, aber manchmal scheitert man halt an solchen einfachen Sachen.
Gruß
matrix1977
Ich hab nochmal ein wenig im Buch gestöbert.
Zitat
"Prinzipiell sollte man für XHTML-Dokumente den MIME-Type application/xhtml+xml benutzen, allerdings um den Preis, dass der Großteil der Browser heute damit nichts anfangen kann.
...
Es ist momentan nicht leicht, einerseits standardkonform zu bleiben und andererseits mit den aktuellen Browsern kompatibel. Da die Entwicklung der Browser schnell voranschreitet, verweisen wir an dieser Stelle auf eine Online-Quelle: Unter http://www.w3.org/People/mimasa/test/xhtml/media-types/ finden Sie einen Test, der feststellt, welcher Browser welchen MIME-Typ akzeptiert. Selbstverständlich sind die Ergebnisse für bereits getestete Browser dort veröffentlicht."
Es reizte mich halt, zu versuchen, XHTML-konform zu programmieren, also auch mit dem MIME-Typ application/xhtml+xml. Immerhin wird dann ja auch die Seite vom XML-Parser interpretiert, der ähnlich wie ein Compiler im Fehlerfall die Zeile und die Stelle innerhalb der Zeile angibt. Das gefiel mir auch schon mal gut, und als ich dann gesehen hab, dass eigentlich nur der IE damit Probleme hat, war ich von der Idee angetan das weiter so konsequent durchzuziehen, denn wie bereits gesagt, der IE interessiert mich rech wenig, und die Seite ist nur für einen kleinen Personenkreis bestimmt, man könnte es auch als Test-Projekt bezeichnen :-)
Gruß
matrix1977
Hallo,
"Prinzipiell sollte man für XHTML-Dokumente den MIME-Type application/xhtml+xml benutzen, allerdings um den Preis, dass der Großteil der Browser heute damit nichts anfangen kann.
Genau. Siehe auch </archiv/> ;-)
http://www.w3.org/People/mimasa/test/xhtml/media-types/results (von Dir erwaehnt)
Und noch ein paar weitere Links zum Thema XHTML und Content-Type:
http://www.w3.org/TR/xhtml-media-types/#summary
http://www.webstandards.org/learn/askw3c/sep2003.html
http://www.xml.com/lpt/a/2003/03/19/dive-into-xml.html
http://www.hixie.ch/advocacy/xhtml
http://schneegans.de/tips/apache-xhtml/
mfg,
Thomas
hi,
Es nimmt mich wunder, ob ueberhaupt ein real existierender
Webserver wirklich in die HTML-Dateien reinguckt und aus
den Meta-Tags HTTP-Header macht.
nein, das ist auch keinesfalls aufgabe eines webservers.
die meta-tags mit dem http-equiv-attribut sind eben nur als äquivalente zu den "echten" HTTP-headern gedacht, wenn der seitenersteller gar nicht dafür sorgen kann, dass diese erzeugt werden - dann hat der _client_ die möglichkeit, sich daran zu orientieren.
dass aber der server diese aus den dateien auslesen und auch noch beachten soll, habe ich noch nie gehört. und es wäre auch wiedersinnig, weil der server dann auch statische seiten zu "parsen" hätte, und sich damit unnötige last aufhalst.
und es gilt nach wie vor, dass eine per "echtem" HTTP-header vom server im response mitgelieferte angabe vom client mit höherer priorität zu bewerten ist, als eine per meta-atg gemacht angabe.
gruss,
wahsaga
hi,
was passiert denn genau, wenn kein WebServer läuft ?
Also wenn ich die Dateien bei mir lokal öffne, dann nicht über den Aufruf über einen bei mir lokal laufenden Webserver sondern einfach nur durch Doppelklick auf die html bzw. xhtml Datei. Da wird doch dann überhaupt kein http-header übertragen oder ?
dann ermittelt der client den content type üblicherweise aus der dateiendung.
was ja auch deine aussage von vorher,
Firefox und Opera interpretieren die Datei nur dann richtig, wenn sie die Endung .xhtml trägt (egal ob als text/html oder application/xhtml+xml)
bestätigen würde.
gruss,
wahsaga
Hallo,
ich verlass mich auf's meta-tag.
Das ist schlecht und unzuverlaessig.
ich nutz einen WebServer bei einem Webhoster, nicht bei mir privat, wie kann ich den content-type des http-headers ermitteln von meinem Webhoster ?
http://cgi.w3.org/cgi-bin/headers
http://www.schroepl.net/cgi-bin/http_trace.pl
Mozilla: Ansicht -> Seiteninformationen (Ctrl-I),
Feld "Typ"
Vielleicht mit einem php-Script mit headers_sent() ?
Eher nicht. Lies mal im Manual, was headers_sent() tut...
Wie kann ich überhaupt Einfluss darauf nehmen oder es umgehen, sollte mir der content-type nicht passen ?
RTFM.
Wenn es ein Apache ist, kannst Du meist mit AddType in der
.htaccess den MIME-Type bestimmen.
PHP-Skripten schicken normalerweise text/html,
es sei denn, Du schickst im Skript ausdruecklich
einen anderen Header.
Lies auch mal ein paar Threads weiter unten: [pref:t=77771&m=449168] ff.
(HTML) XHTML 1.1 - Browserkompatitiblität von Gernot, 05. 04. 2004, 14:16
Gruesse,
Thomas