XHTML strict non reconnu sous IE (.htaccess)

Nouveau WRInaute
Bonjour enfin bonsoir.
J'ai fait de nombreuses modifications sur mon site http://lebaron.e3b.org parmis lesquels le passage de HTML 4.01 à XHTML 1.0 Strict. Mes pages sont donc développée en XHTML 1.0 Strict. Je peux y accéder avec Firefox mais avec IE 7 lorsque je veux aller a n'importe quelle page en xhtml le navigateur me demande si je veux enregistrer le fichier; après téléchargement le fichier n'est rien d'autre que mon code source.
Je ne comprend pas pourquoi IE 7 ne m'affiche pas la page xhtml.
Les dernieres modifications sont sur le fichier .htaccess dont le code source est :

Code:
    ErrorDocument 401 /Oups
    ErrorDocument 403 /Oups
    ErrorDocument 404 /Oups.xhtml

    DirectoryIndex home.xhtml index.php

    RewriteEngine On
    RewriteRule ^(home|BlogRoll|Travaux|MaCommunaute|Oups)(/.*)?$ $1.xhtml
    RewriteRule ^(index|Contact)(/.*)?$ $1.html

Je ne sais pas si cela vient de la réecriture d'URL si oui comment y remédier sans supprimer une ligne de code ?
 
WRInaute impliqué
Aucun rapport avec ton .htaccess, IE ne gère tout simplement pas le type mime application/xhtml+xml

Il y a donc un bout de code qui va bien dans ce cas, à mettre dans le header php :

Code:
<?php
if(stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml"))
{
header("content-type: application/xhtml+xml; charset=ISO-8859-1");
echo('<?xml version="1.0" encoding="ISO-8859-1"?'.'>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">');
} 
else 
{
header("content-type: text/html; charset=ISO-8859-1");
echo('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">');
}
?>

Par contre apparemment tes fichiers sont statiques et enregistrés avec l'extension *.xhtml donc il te faudra passer en *.php mais vu que te url sont déjà ré-éecrites, cela ne devrait pas poser de soucis, juste ton .htaccess à modifier
 
Nouveau WRInaute
Si j'ai bien compris je met ton code dans les balises <head></head> de mon doc et je remplace mon fichier home.xhtml en home.php. Et je change la direction permanente pour quelle retourne à home.php.
J'ai fait cela mais il y a une erreur lors de la lecture
 
WRInaute impliqué
Une solution plus simple est de servir tes pages comme du HTML, même si c'est un contenu XHTML. Regarde le www dans ma signature par exemple.

Les pages ont le type mime text/html alors que ce sont des pages en XHTML 1.1. En plus mes URL sont réécrites vers des pages PHP.
 
Nouveau WRInaute
Mwai mais c'est bon la méthode d'avant marche j'ai juste modifier mes pages en .php et le script choisi de prendre tel ou tel en-tête en fonction du navigateur !
 
WRInaute impliqué
Bon, j'ai proposé une solution simple et qui marche toujours, même si elle crée un warning dans la validateur html du W3C (même pas une erreur).

Je confirme que ton site ne passe pas en FF.

A toi de voir si tu veux résoudre ton pb ou pas... :wink:
 
Discussions similaires
Haut