2 Stimmen

Das Parsen von PNG als PHP über htaccess funktioniert nur auf dem lokalen Server, aber nicht auf dem Webserver

Ich habe ein dynamisches PNG-Bild in PHP erstellt. Um die PNG-Erweiterung zu verwenden, habe ich eine .htaccess-Datei mit folgendem Inhalt erstellt:

AddType application/x-httpd-php .png

Auf meinem lokalen XAMPP-Server funktioniert alles perfekt, aber nach dem Hochladen der Dateien auf einen Webserver funktioniert es nicht mehr. Wenn ich auf die Datei zugreife, wird der PHP-Code der Datei angezeigt.

Dies sind die 2 verschiedenen Antworten von beiden Servern:

Lokaler Server:

HTTP/1.1 200 OK
Date: Tue, 16 Oct 2012 21:51:58 GMT
Server: Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1
Last-Modified: Sat, 07 Feb 2009 11:47:04 GMT
Etag: "9000000024598-1e66-46252b23c9e00"
Accept-Ranges: bytes
Content-Length: 7782
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Content-Type: image/x-icon

Webserver:

HTTP/1.1 200 OK
Date: Tue, 16 Oct 2012 21:55:17 GMT
Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8r
Last-Modified: Tue, 16 Oct 2012 21:21:56 GMT
Etag: "db0f1b0-afc-4cc33be6befa5"
Accept-Ranges: bytes
Content-Length: 2812
Keep-Alive: timeout=3, max=100
Connection: Keep-Alive
Content-Type: application/x-httpd-php

Die Datei wird also irgendwie nicht geparst. Ich weiß wirklich nicht, wo ich hier anfangen soll.

5voto

Alain Tiemblo Punkte 34390

Ich denke, Sie sollten besser eine .htaccess mit der RewriteEngine wie folgt:

RewriteEngine On
RewriteBase /directory/to/dynamic_image
RewriteRule ^logo\.png$ logo.php

Oder für alle .php-Dateien:

RewriteEngine On
RewriteBase /directory/to/dynamic_image
RewriteRule ^(.+)\.png$ $1.php

2voto

Ian Punkte 21

In Ihrer php-Datei die Kopfzeile als png-Bild einrichten (BEVOR eine Ausgabe auf der Seite erfolgt):

<?php
header('Content-Type: image/png');
// image generating code here.......
?>

Damit entfällt die Notwendigkeit des .htaccess-Eintrags

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X