Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme de Content-Type

4 réponses
Avatar
Insitu
Bonjour,
J'ai installé un système de wiki qui utilise php (PmWiki), que je ne
connais par ailleurs, sur mon serveur en localhost pour le tester. Tout
fonctionne a peu près bien, sauf que lorsque j'essaye de charger une
feuille de style (ou une image), le Content-Type renvoyé est text/html
au lieu de text/css (image/gif).
Cela ne se produit que lorsque php est activé dans Apache. Ne trouvant
pas de réponse dans la doc PHP (j'ai peut être mal cherché ou pas assez
longtemps), je poste dans ce forum en n'étant pas trop sûr que ce soit
le bon endroit...

Voici le header _avec_ PHP :
HTTP/1.1 200 OK
Date: Thu, 27 May 2004 04:23:41 GMT
Server: Apache/1.3.28 (Unix) PHP/4.3.3
X-Powered-By: PHP/4.3.3
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1

Voici le header _sans_ PHP (i.e. j'ai retiré le LoadModule etc.. de
httpd.conf) :
HTTP/1.1 200 OK
Date: Thu, 27 May 2004 04:25:09 GMT
Server: Apache/1.3.28 (Unix)
Last-Modified: Thu, 27 May 2004 02:54:52 GMT
ETag: "29fb10-67c-40b5587c"
Accept-Ranges: bytes
Content-Length: 1660
Content-Type: text/css

Le résultat étant bien entendu que les feuilles de styles ne sont pas
correctement interprétées (pas du tout, en fait) par le navigateur
(Mozilla 1.4)

Merci d'avance
Arnaud

4 réponses

Avatar
Eric Daspet
Insitu wrote:
le Content-Type renvoyé est text/html
au lieu de text/css (image/gif).


Quand on est dans un script c'est au script de définir le type de
document (vu qu'Apache ne peut plus le déterminer à l'aide de
l'extension ou du contenu). Par défaut PHP envoit un "text/html".

Tu peux le changer avec la fonction header() ( http://php.net/header )

exemple:
header('Content-Type: text/css; charset=iso-8859-1') ;

--
Eric Daspet
Venez aider notre mangeur de cigogne sur http://mangeur-de-cigogne.info/

Avatar
my name
Eric Daspet wrote:
Insitu wrote:

le Content-Type renvoyé est text/html au lieu de text/css (image/gif).



Quand on est dans un script c'est au script de définir le type de
document (vu qu'Apache ne peut plus le déterminer à l'aide de
l'extension ou du contenu). Par défaut PHP envoit un "text/html".

Tu peux le changer avec la fonction header() ( http://php.net/header )

exemple:
header('Content-Type: text/css; charset=iso-8859-1') ;

En fait, je ne suis pas dans un script, puisque le problème se pose pour

la requête de CSS au serveur. Si je demande n'importe quel ressource à
mon serveur, le contenu est "text/html" et pas autre chose, que cette
ressource soit ou non un script PHP. J'ai bien vu un paramètre dans
php.ini mais je ne vois pas pourquoi le fait de rajouter PHP à mon
serveur devrait supprimer toutes mes directives AddType et mime.

Arnaud


Avatar
loufoque
my name wrote:

En fait, je ne suis pas dans un script, puisque le problème se pose pour
la requête de CSS au serveur. Si je demande n'importe quel ressource à
mon serveur, le contenu est "text/html" et pas autre chose, que cette
ressource soit ou non un script PHP. J'ai bien vu un paramètre dans
php.ini mais je ne vois pas pourquoi le fait de rajouter PHP à mon
serveur devrait supprimer toutes mes directives AddType et mime.


As-tu bien limité PHP à l'extension .php ?

Avatar
Eric Daspet
my name wrote:
En fait, je ne suis pas dans un script


Que fait ta question ici alors ? :)

puisque le problème se pose pour la requête de CSS au serveur.


Tu aurais pu faire générer ton CSS par PHP, enfin peu importe.

Si je demande n'importe quel ressource à
mon serveur, le contenu est "text/html" et pas autre chose, que cette
ressource soit ou non un script PHP.


Tu dois avoir mal configuré ton serveur. Le fichier CSS en question a
bien l'extension .css ? As tu bien une relation dans ta configuration
qui associe .css à text/css ? N'as tu pas forcé tous les fichiers (ou au
moins les fichiers CSS) à être interpétés par PHP ?

J'ai bien vu un paramètre dans
php.ini mais je ne vois pas pourquoi le fait de rajouter PHP à mon
serveur devrait supprimer toutes mes directives AddType et mime.


Si c'est bien fait ça ne devrait changer le type que pour les fichiers
gérés par PHP. Si c'est venu avec l'installation PHP c'est que d'une
manière ou d'une autre tu as du associer les fichiers .css à PHP. Tu
peux facilement le vérifier en rajoutant <?php phpinfo() ; ?> dans ton
fichier CSS et en essayant de l'afficher avec ton navigateur.

--
Eric Daspet
Venez aider notre mangeur de cigogne sur http://mangeur-de-cigogne.info/