Mime-Type mit mod_rewrite bestimmen.

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

Mime-Type mit mod_rewrite bestimmen.

Postby nch » 27. December 2004 14:50

Hallo,

um ein XHTML 1.1 Dokument mit dem richtigen Mime-Type auszuliefern (ohne das ältere Browser benachteiligt werden), habe ich folgenden Code in der .htaccess

Code: Select all
RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml
RewriteCond %{HTTP_ACCEPT} !application/xhtml\+xml\s*;\s*q=0
RewriteCond %{REQUEST_URI} \.xhtml$
RewriteCond %{THE_REQUEST} HTTP/1\.1
RewriteRule .* - "[T=application/xhtml+xml; charset=UTF-8]"

(gefunden bei schneegans.de)

Leider verhält sich diese Direktive völlig unterschiedlich. Ruft man mit Firefox 1.0 die Seite http://www.evkp.de/index.xhtml auf, ist der Mime-Type des Dokuments immer noch text/html (erkennt man auch an Renderfehlern). Beim Test mit dem web-sniffer wird aber auf einmal der richtige Mime-Type (application/xhtml+xml) geliefert.

Bis jetzt hat diese Direktive nur mit Opera 7.? unter Linux als Client richtig funktioniert.

Woran kann das liegen?


Vielen Dank im Voraus

Guido
nch
 
Posts: 2
Joined: 27. December 2004 14:29

Postby deepsurfer » 27. December 2004 14:57

getestet ob die htaccess mit dem charset-iso-8859-1 funktioniert ???

iso-8859-1 ist die latin1 und wird standardmässig im apachen vordefiniert.


teste das mal und meld dich

chirio
Deep
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby nch » 27. December 2004 17:04

deepsurfer wrote:getestet ob die htaccess mit dem charset-iso-8859-1 funktioniert ???


Die .htaccess ist selbst als ANSI gespeichert.

Als ich aber die Zeichenkodierung in der RewriteRule von UTF-8 nach ISO-8859-1 geändert habe (das meintest Du doch wohl?), hat sich zu meiner Überraschung beim Client nicht geändert. D. h. er hat immer noch UTF-8 dargestellt - wärend der web-sniffer iso-8859-1 erhält.

Nun vermute ich, daß die Rewrite-Bedingungen gar nicht erst abgearbeitet werden, bzw. als negativ erkannt werden.

Woran kann das liegen?


Guido
nch
 
Posts: 2
Joined: 27. December 2004 14:29

Postby Hanjo » 18. January 2005 23:06

Hi,
damit habe ich auch ein Problem, ich versuche gerade in einem Ordner mit php-Dateien den Quelltext aufzurfen, indem ich die Dateiung phps benutze, das weiterleiten funktioniert auch schon, nur führt er die Datei trotzdem aus und zeigt mir nicht den Quelltext an:
Code: Select all
RewriteEngine on
RewriteRule   ^([A-Za-z0-9\-\_]*)\.phps$   $1.php   [T=application/x-httpd-php-source,L]


Ich vermute ja, dass ich dazu ein bestimmtes Modul brauche, welches in XAMPP standardmäßig deaktiviert ist (mod_rewrite z.B.), hat da jemand eine Idee?

thx
Hanjo
Hanjo
 
Posts: 18
Joined: 30. November 2003 11:01

Postby Wiedmann » 19. January 2005 01:26

Hä?

Also beim XAMPP werden Dateien mit der Endung ".phps" automatisch als Quelltext angezeigt.

BTW:
Die macht man nicht mit mod_rewrite sondern mit der Directive AddType
--> siehe PHP-Manual
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Hanjo » 19. January 2005 08:30

Jaja, weiß ich doch, wenn ich eine datei test.php habe, wird die ausgeführt, wenn ich eine Datei test.phps habe, wird die angezeigt.
Nun habe ich aber nur eine test.php (und keine test.phps), rufe aber test.phps auf, dann soll automatisch der Quelltext angezeigt werden, so muss ich nicht immer zwei Dateien verändern (praktisch, wenn man viele Dateien hat). Und wie gesagt, obwohl bei mir nur die .php-Datei exisitert kann ich trotzdem auch die .phps-Datei aufrufen, einziges Problem: sie wird trotzdem vom Server verarbeitet und nicht der Quelltext angezeigt...

Verstehst du?
Hanjo
 
Posts: 18
Joined: 30. November 2003 11:01


Return to Apache

Who is online

Users browsing this forum: No registered users and 4 guests