web-dev-qa-db-fra.com

Le serveur n'analyse pas .html en tant que PHP

J'ai le code inclus dans mon fichier .htaccess mais le code php que je tente d'inclure ne fonctionne pas.

Options +Includes
AddType text/html  .htm .html
AddHandler server-parsed .htm .html
AddType application/octet-stream .vcf
AddOutputFilterByType DEFLATE text/html text/htm text/plain text/css text/php    text/javascript application/x-javascript
16
Ben G

Essayer:

AddType application/x-httpd-php .html .htm

MISE À JOUR 1

Cela peut être PHP spécifique à la version. Si vous utilisez PHP5, essayez:

AddType application/x-httpd-php5 .html .htm

MISE À JOUR 2

Essayer:

RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html

Ou voici encore un autre moyen alternatif de le faire:

<FilesMatch "\.html$">
    ForceType application/x-httpd-php
</FilesMatch>
29
John Conde

Sur Apache 2.2.22 (Ubuntu) avec Php 5, ajoutez ces lignes à /etc/Apache2/mods-enabled/php5.conf

<FilesMatch ".+\.html$">
    SetHandler application/x-httpd-php
</FilesMatch>

et redémarrez Apache

Sudo service Apache2 restart
18
Gjaa

Pour GoDaddy hébergement mutualisé (php-cgi):

De http://sagarnangare.com/parse-html-as-php-using-htaccess-file-on-godaddy/

AddHandler fcgid-script .html
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html

C'est le seul qui a fonctionné pour moi.

7
CatsDontWearPants

Si vous utilisez le panneau de configuration de Plesk:

PHP fonctionne en tant que module Apache:

<IfModule mod_php5.c>
   AddHandler php5-script .php .html .htm
   AddType text/html .php .html .htm
</IfModule>

PHP s'exécute en tant qu'application FastCGI:

<IfModule mod_fcgid.c>
    <Files ~ (\.html)>
        SetHandler fcgid-script
        FCGIWrapper /var/www/cgi-bin/cgi_wrapper/cgi_wrapper .html
        Options +ExecCGI
        allow from all
    </Files>
</IfModule>

PHP est en cours d'exécution en tant qu'application CGI:

<Files ~ (\.html)>
    SetHandler None
    AddHandler php-script .html
    Options +ExecCGI
    allow from all
</Files>

Alors/usr/local/psa/admin/sbin/httpdmng --reconfigure-all

http://kb.odin.com/fr/115773

6
Hayden

Si votre serveur utilise PHP5, utilisez ceci:

AddHandler application/x-httpd-php5 .html .htm

Si ce n'est pas PHP5, utilisez

AddHandler application/x-httpd-php .html .htm

Cela a fonctionné pour moi sur l'hébergement CPanel.

Si vous utilisez un autre hébergement Linux, essayez ceci:

<IfModule mod_mime.c>
AddType application/x-httpd-php .html .php .htm
</IfModule>

Options +FollowSymlinks
4
Masetti

TRES IMPORTANT que vous deviez remplacer le "php5" par votre version OWN exacte PHP dans le:

AddHandler application/x-httpd-php5 .html .htm

AddType application/x-httpd-php5 .html .htm

Parce que j’ai essayé de tout faire depuis le Web, mais rien n’a fonctionné tant que j’ai trouvé un menupoint "MultiPHP Manager" sous mon CPanel, et j’ai découvert que ma version/nom/id PHP exact ( ou peu importe comment on l'appelle) était "ea-php56", mon code de travail est donc:

AddHandler application/x-httpd-ea-php56 .html .htm

AddType application/x-httpd-ea-php56 .html .htm

J'ai parcouru toute la journée les forums, les commentaires, mais je n'ai trouvé cette information très importante nulle part, alors vous devez peut-être aussi rechercher votre version exacte de PHP si elle ne fonctionne pas!

3
Adrian

Pour le serveur Godaddy cela a fonctionné pour moi 

Options +ExecCGI
AddHandler fcgid-script .html
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html
1
PlanetHackers

BenG, une solution a-t-elle fonctionné pour vous?

cela peut aider - j'ai trouvé ce sujet déroutant, car l'une ou l'autre déclaration a fonctionné pour moi dans mon environnement de développement local

AddHandler application/x-httpd-php .html .htm
or
AddType application/x-httpd-php .html .htm

après avoir lu la documentation Apache sur les deux directives, il semble que vous souhaitiez utiliser AddType lorsque vous ajoutez un type mime non encore géré par Apache, et AddHandler lorsque vous souhaitez qu'Apache traite un fichier différemment de son type par défaut. traitement de ce type de fichier. Je peux me tromper, mais cela semble être ce que dit le manuel.

donc si vous voulez qu'Apache gère les fichiers .html et .htm comme s'il s'agissait de fichiers .php, utilisez la directive suivante:

AddHandler application/x-httpd-php .html .htm

le fichier .htaccess que vous avez mentionné ci-dessus remplit plusieurs fonctions. Par conséquent, vous pouvez d'abord vérifier qu'il indique bien à Apache de gérer les fichiers .htm et .html comme s'il s'agissait de fichiers .php; Passez ensuite aux autres directives que vous souhaitez utiliser.

1
dan_nl

Vous pouvez simplement essayer de ne mettre que ce AddType php .html .htm dans votre htaccess, si ce AddType application/x-httpd-php .html .htm ne fonctionne pas.

0
Kannika

Vous avez déjà été surpris par cela beaucoup auparavant et ce qui se passe probablement, si aucun des autres ne fonctionne, est de le lire comme un fichier et de ne pas passer par Apache. Vérifiez votre barre d’adresse et assurez-vous qu’elle commence par localhost, votre adresse IP, 127.0.0.1 ou votre nom de domaine si vous l’avez déjà configurée pour s’adresser directement à votre serveur.

0
user2137321

simplifier en 3 étapes:

  1. vim /etc/httpd/conf/httpd.conf

  2. AddType application/x-httpd-php .html

  3. service httpd restart

0
Sean

Si vous essayez d’exécuter un très vieux code PHP, assurez-vous d’avoir

short_open_tag = On

dans votre php.ini

ou encore mieux (car il n'est plus recommandé d'utiliser des balises ouvertes courtes pour le nouveau code) afin d'activer un hôte virtuel spécifique uniquement via:

php_value short_open_tag On

dans le fichier httpd.conf/.htaccess.

0
Dmitriy Sintsov

Vous voudrez peut-être essayer d’ajouter cette ligne à votre fichier .htaccess:

AddHandler x-mapp-php6 .html .htm
0
bill

PHP est en cours d'exécution avec SuPHP:

<FilesMatch "\.html$">
    SetHandler application/x-httpd-php
</FilesMatch>
0
r0tech

AddHandler application/x-httpd-ea-php56 .html .htm

Application AddType/x-httpd-ea-php56 .html .htm

cela a fonctionné pour moi!

0
anandsoft

J'utilise un serveur dédié GoDaddy avec Plesk. Voici ce que je dois utiliser pour le faire fonctionner:

AddHandler fcgid-script .htm
FCGIWrapper /var/www/cgi-bin/cgi_wrapper/cgi_wrapper .htm

Pour le chemin réel du cgi_wrapper, reportez-vous au fichier: 

/var/www/vhosts/yourdomain.com/conf/last_httpd.include
ou /etc/httpd/conf.d/php_cgi.conf 

0
Stephen Cheng

Pour PHP version 5.6.40, exécutez PHP en tant qu '"application FRM servie par Apache" (Plesk) Ajoutez ceci dans .httaccess 

<FilesMatch "\.html$">
   SetHandler php-script
</FilesMatch>

c'est un travail pour moi

0
Serghej Petrov

Je ne sais pas si ça aide mais ... Mon exemple après une heure de recherche:

AddType application/x-httpd-php .php
LoadModule php5_module "c:/server/php5/php5Apache2_2.dll"
ScriptAlias /_php/ "c:/server/php5/"

dans httpd.conf

Sans LoadModule et ScriptAlias, il ne traitait pas du tout php et affichait du texte en clair

0
Sergey

Ajouter ceci à .htaccess a résolu mon problème en utilisant PHP 5.5:

AddType application/x-httpd-php .html
0
Filipe Dias

De http://support.lunarpages.com/knowledge_bases/article/321

Comment puis-je configurer Apache pour traiter Les fichiers .html en tant que PHP sous suPHP? Vous besoin de supprimer toutes les entrées précédentes pour gérer les fichiers .html tels que PHP et insérez ce qui suit dans votre .htaccess fichier: AddHandler x-httpd-php .html .htm Ou vous pouvez ajouter ceci manuellement en utilisant Cpanel -> Apache Handlers -> Nouveau: Extension: .html .htm Gestionnaire: x-httpd-php Les derniers serveurs cPanel nécessite en réalité ce qui suit au lieu de cela: AddHandler application/x-httpd-php .html .htm ou Application AddType/x-httpd-php .html .htm S'il vous plaît essayez ceci si le premier type ne fonctionne pas pour vous pour les fichiers.

0
Sylverdrag

si vous voulez une URL pour www.examle.com/page.php?id=123&lang=it en seo comme ceci www.examle.com/it/1/2/3/pagina.htmladd in .htaccess

<Files it>
SetHandler php-script
</Files>
<Files ru>
SetHandler php-script
</Files>

et quand créer des fichiers "it" "ru" dans web directrory root racine comme ceci:

<?php
   // www.examle.com/it
   $lang="it";
   include("urlrewrite.php"); 
?>
<?php
   // www.examle.com/ru
   $lang="ru";
   include("urlrewrite.php"); 
?>
0
Serghej Petrov