Il vous est peut-être déjà arrivé de devoir automatiser un site grâce à PHP dont tous les fichiers portent l'extension .html. Vous avez donc renommé tous les fichiers (des fois plus de cinquante) et changé tous les liens internes du site... Travail laborieux mais efficace...
Que diriez-vous de faire ce travail tout aussi efficace mais en quelques touches de clavier et 30 secondes montre en main ?
C'est ce que je vais vous apprendre ici : faire interpréter le PHP contenu dans des fichiers .html ou toute autre extension désirée !
Le tutoriel se découpe en deux sous-parties. La première concerne ceux qui peuvent et veulent changer la configuration de leur serveur. La seconde concerne ceux qui n'ont pas l'accès aux fichiers de configuration du serveur (exemple : hébergement mutualisé) et qui ne veulent pas se compliquer la tâche.
Cette sous-partie vous concerne si vous ne voulez pas toucher à la configuration du serveur, ou si vous n'y avez pas accès.
C'est donc dans un fichier .htaccess que nous allons travailler pour indiquer à Apache quelles extensions les fichiers doivent porter pour passer par le moteur PHP. Il faut ajouter une ligne par extension à supporter. Le résultat est garanti ! Voici le schéma à recopier autant de fois que nécessaire :
AddType application/x-httpd-php .extension
Donc pour prendre en compte les extensions .php, .htm et .html, vous écrirez :
T'es bien gentil mais j'en fais quoi, de ces trois lignes ?
Deux possibilités :
vous avez déjà un fichier .htaccess à la racine de votre site, et dans ce cas-là, vous rajoutez simplement vos lignes à la suite du fichier ;
vous n'avez pas de fichier .htaccess à la racine de votre site. Il vous faut donc créer un htaccess.txt avec le code préparé auparavant. Vous envoyez ce fichier à la racine de votre site (là où se trouve votre page d'accueil) et vous le renommez en .htaccess...
Désormais, grâce à ces deux techniques, vous pouvez vous faire plaisir :
créer vos propres extensions (exemple : .sdz pour le Site Du Zéro, ...) ! Le html sera interprété par le navigateur ;) ;