Apache2, Linux, php5
J'ai ajouté cette ligne à mon fichier .htaccess
AddType application/x-httpd-php5 .htm .html
en cours d'exécution apace2ctl -m
, affiche ce module chargé
Un php5_module (partagé)
J'ai une simple page HTML avec une ligne de code PHP à l'intérieur d'une balise <h2>
<?php echo "It works!"; ?>
Lorsque rendu dans le navigateur, le serveur semble avoir commenté le PHP comme si
<!--?php echo "It works!"; ?-->
Si je renomme le fichier avec une extension PHP cela fonctionne très bien.
Pourquoi Apache ne traite-t-il pas le code PHP dans mes fichiers HTML comme indiqué? Qu'est-ce que je fais mal?
<!--?php echo "It works!"; ?-->
C’est ce que vous voyez lorsque vous analysez l’élément à l’aide des navigateurs Inspecteur d’objets ie. le source interprétée. Ce n'est pas la source HTML telle qu'elle a été envoyée par le serveur ("view source").
Fondamentalement, vos pages HTML ne sont pas traitées par PHP. Vous devrez probablement vérifier auprès de votre hôte quelle directive vous souhaitez utiliser. Vous devrez peut-être utiliser AddHandler
à la place, ou supprimer le 5
, ou quelque chose d'autre. (C'est-à-dire si votre hôte autorise ces directives dans .htaccess?)
Mon installation Apache a un fichier php5.conf que j'ai ajouté à cela.
<FilesMatch ".+\.html$">
SetHandler application/x-httpd-php
</FilesMatch>
Dans mon fichier .htaccess, j'ai aussi changé
AddType application/x-httpd-php5 .html
à
AddType application/x-httpd-php .html
Scott
Il est généralement préférable d’utiliser un fichier php au lieu d’un fichier html pour ce que vous essayez de faire. Cependant, si vous avez absolument besoin que ce soit un document HTML, vous pouvez utiliser un fichier .htaccess placé à la racine de votre site et contenant ceci:
AddType application/x-httpd-php .htm .html
Au lieu de
AddType application/x-httpd-php5 .htm .html