J’ai besoin d’exécuter tous mes fichiers .html en tant que fichiers .php et je n’ai pas le temps de modifier tous les liens avant notre présentation de demain. Est-il possible de “pirater” ceci avec mon serveur Apache?
Créez un fichier .htaccess à la racine de votre site Web et ajoutez cette ligne:
[Apache2 @ Ubuntu / Debian: utilisez cette directive]
AddType application/x-httpd-php .html .htm
Ou, d’après le commentaire ci-dessous:
AddType application/x-httpd-php5 .html .htm
Si vous utilisez PHP en tant que CGI (probablement pas le cas), vous devriez écrire à la place:
AddHandler application/x-httpd-php .html .htm
Dans My Godaddy Server, le code suivant fonctionnait
Options +ExecCGI AddType application/x-httpd-php .php .html AddHandler x-httpd-php5 .php .html
Pour quiconque a encore des problèmes,
Essayez ceci (mon hébergement venait de Godaddy et c’est la seule chose qui a fonctionné pour moi parmi toutes les réponses disponibles).
AddHandler x-httpd-php5-cgi .html
Vous devez append la ligne suivante dans votre fichier de configuration Apache:
AddType application/x-httpd-php .htm .html
Vous avez également besoin de deux autres choses:
Autoriser le dépassement
Dans votre your_site.conf
(par exemple sous /etc/apache2/mods-available
dans mon cas), ajoutez les lignes suivantes:
"> AllowOverride All
Activer le mod de réécriture
Exécutez cette commande sur votre machine:
sudo a2enmod rewrite
Après chacune de ces étapes, vous devez redémarrer apache:
sudo service apache2 restart
Je pense que c’est la meilleure façon d’exécuter un script PHP sur les pages HTML et HTML:
AddType application/x-httpd-php5 .html .htm
Vous pouvez également utiliser l’indicateur H ou T de mod_rewrite pour forcer tous les fichiers .html à être analysés par le gestionnaire php:
en utilisant le drapeau H (Handler):
RewriteEngine on RewriteRule \.(html|htm)$ - [H=application/x-httpd-php5]
en utilisant l’indicateur T (Type):
RewriteEngine on RewriteRule \.(html|htm)$ - [T=application/x-httpd-php5]
Ou vous pouvez append plus d’extensions au modèle de règles séparé par un tuyau | que vous voulez être analysé par le gestionnaire php
ex:
RewriteRule \.(html|htm|txt|foo)$ - [T=application/x-httpd-php5]
l’exemple ci-dessus changera le type de fichier MIME qui se termine par .html , .htm , .txt , .foo en php.
Remarque: sur certains serveurs, vous devrez changer php5 en php pour que cet exemple fonctionne dans la chaîne du gestionnaire:
Changes le
[T=application/x-httpd-php5]
à
[T=application/x-httpd-php]
Normalement, vous devriez append:
Options +ExecCGI AddType application/x-httpd-php .php .html AddHandler x-httpd-php5 .php .html
Cependant, pour l’hébergement partagé GoDaddy (php-cgi), vous devez également append ces lignes:
AddHandler fcgid-script .html FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html
Source: Parse HTML en PHP avec le fichier HTACCESS sur Godaddy .
mettez ceci dans votre .htaccess
AddType application/x-httpd-php .php .htm .html
plus d’infos sur cette page
En utilisant l’approche de @ Marc-François, Firefox m’a invité à télécharger le fichier HTML
Enfin, ce qui suit fonctionne pour moi (en utilisant les deux):
AddType application/x-httpd-php .htm .html AddHandler x-httpd-php .htm .html
Ceci est en édition à toutes les autres bonnes réponses:
Si vous ne trouvez pas le bon gestionnaire, créez simplement un fichier .php avec le contenu suivant:
et lancez / ouvrez ce fichier dans le navigateur.
Utilisez cette sortie dans un fichier .htaccess
Créez un fichier .htaccess à la racine de votre site Web (généralement un dossier nommé public_html ou htdocs sur les serveurs Linux) et ajoutez cette ligne:
AddType [[THE OUTPUT FROM ABOVE FILE]] .html .htm
Exemple
AddType application/x-httpd-php70 .html .htm
Si vous voyez une page blanche ou un Notice: Undefined index: REDIRECT_HANDLER
Essayer par défaut dans .htaccess
AddHandler application/x-httpd-php .html
AddHandler application/x-httpd-php .php .html .htm // or AddType application/x-httpd-php .php .htm .html
J’utilise PHP7.1 en cours d’exécution dans mon Raspberry Pi 3.
Dans le fichier /etc/apache2/mods-enabled/php7.1.conf
j’ai ajouté à la fin:
AddType application/x-httpd-php .html .htm .png .jpg .gif
Exécuter des fichiers .html comme php a cessé de fonctionner soudainement dans mon fichier .htaccess.
Le soutien de Godaddy m’a fait changer ça pour:
AddHandler application/x-httpd-lsphp .html