Zur Navigation

AddType application/xhtml+xml

default.htm funktioniert nicht im IE

1 Anni

Hallo Zusammen,

ich bin Neuling in allen Bereichen der Website-Erstellung und habe mir bis hierhin das benötigte Wissen angegoogelt, doch nun komme ich nicht weiter und hoffe auf Eure Hilfe.

Die Herausforderung: Der „AddType application/xhtml+xml;charset=UTF-8 .htm“ funktioniert beim Firefox wunderbar und im IE auch, nur nicht bei der „default.htm“ – diese Seite kann ich bei Aufruf wahlweise speichern oder zum Öffnen ein Programm auswählen. Ich denke dass es an der RewriteRule zwecks Vermeidung von doppeltem Inhalt liegt und der IE dadurch möglicherweise das .htm nicht erkennt, ist aber natürliche reine Spekulation ;-)
Hier ist der Inhalt meiner htaccess-Datei:

Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^mmrr\.de$ [NC] 
RewriteRule ^(.*)$ http://www.mmrr.de/$1 [R=301,L] 
RewriteCond %{THE_REQUEST} default\. [NC] 
RewriteRule ^(.*)default\.(.*) /$1 [L,NC,R=301] 

AddType text/css;charset=UTF-8 .css
AddType text/javascript=UTF-8 .js
AddType application/xhtml+xml;charset=UTF-8 .htm
AddType text/xml .xml
AddType application/pdf .pdf

<IfModule mod_headers.c>
  <FilesMatch "\\.(ico|jpe?g|png|gif)$">
    Header set Cache-Control "max-age=2592000, public"
  </FilesMatch>
  <FilesMatch "\\.(css|js|pdf)$">
    Header set Cache-Control "max-age=3600, public"
  </FilesMatch>

  <FilesMatch "\\.(htm)$">
    Header set Cache-Control "max-age=600, public"
  </FilesMatch>
</IfModule>

Im Quellcode habe ich folgende Angaben stehen (sind nur Auszüge):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.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" />
   <meta http-equiv="content-script-type" content="text/javascript; charset=utf-8" />
   <meta http-equiv="content-style-type" content="text/css; charset=utf-8" />
   <meta name="MicrosoftTheme" content="none, default" />
    <link rel="canonical" href="http://www.mmrr.de" /> 
</head>

Den Meta-Tag Content-Type habe ich sowohl mit „application/xhtml+xml“ als auch mit „text/html“ getestet, klappt beides nicht. Weiß jemand wie ich das lösen kann? Vielen Dank im Voraus für Eure Hilfe!!!
Gruß, Anni

20.01.2011 14:08

2 Jörg

Mit application/xhtml+xml hat der IE noch so seine Probleme, soweit ich weiß, soll erst der IE 9 damit vernünftig umgehen können. Bei mir versucht der IE 7 bei diesem Content-Type die Seite downzuloaden. Wenn das bei dir nicht der Fall ist, lädt der IE die Seiten vielleicht aus seinem Cache? Ich würde es mit text/html nochmal versuchen und vorher die temporären Internetdateien leeren.

Ich denke dass es an der RewriteRule zwecks Vermeidung von doppeltem Inhalt liegt und der IE dadurch möglicherweise das .htm nicht erkennt, ist aber natürliche reine Spekulation ;-)

Die htaccess Datei wird nur vom Webserver interpretiert - unabhängig vom Browser. Diese erhalten hier alle vom Webserver dieselben HTTP-Header beim Aufruf der Startseite ausgeliefert.

20.01.2011 14:32

3 Anni

Hallo Jörg,

1000 Dank für die prompte Rückmeldung!!! Browserverlauf komplett löschen hilft leider auch nicht, komme wieder zu dem gleichen Ergebnis, wobei ich auch den IE8 habe. Was mich so wundert ist, dass ich auf die anderen Seiten normal zugreifen kann, es erscheint mir total unlogisch (was nix heisst ;-) Anererseits ist es die default.htm, die ja an sich schon durch die Bezeichnung ne gesonderte Funktion hat. Vielleicht brauchen die index./default/-Seiten ja noch ne extra-Anweisung...
Danke Dir auf jeden Fall für Deine Mühe!

20.01.2011 14:52

4 Jörg

Browserverlauf löschen genügt nicht, auch die temporären Internetdateien müssen gelöscht werden. Und solange du application/xhtml+xml als Conteht-Type verwendest, wird der Internet Explorer bis einschließlich Version 8 Probleme mit der Seite haben.

Ein Aufruf von http://www.mmrr.de/ mit dem User-Agent-String des IE 8 erhält diese HTTP-Header als Antwort:

HTTP/1.1 200 OK
Date: Thu, 20 Jan 2011 14:19:19 GMT
Server: Apache/2.2.17 (Unix)
Last-Modified: Thu, 20 Jan 2011 13:41:43 GMT
ETag: "3236e01-1383-49a474b483e73"
Accept-Ranges: bytes
Content-Length: 4995
Connection: close
Content-Type: application/xhtml+xml; charset=utf-8

Zitat von Anni
Vielleicht brauchen die index./default/-Seiten ja noch ne extra-Anweisung...

Diese Direktive betrifft alle Dateien, die auf .htm enden:

AddType application/xhtml+xml;charset=UTF-8 .htm

Und wie du an den Headern oben siehst, funktioniert sie auch bei der Startseite

20.01.2011 15:27

5 Anni

Hi, wenn ich im IE8 auf "Extras>Browserverlauf löschen" gehe öffnet sich ein Fenster bei dem ich u.a. temporäre Internetdateien anklicken und somit ebenfalls löschen kann, das hatte ich auch alles angeklickt...hm. Wie auch immer, dann ist das so und ich werde Deinem Rat folgen und doch wieder auf text/html umsteigen. Danke für Deine Hilfe und Deine Erklärungen!!!
Viele Grüsse, Anni

20.01.2011 15:50

Beitrag schreiben (als Gast)





[BBCode-Hilfe]