Necesito ejecutar todos mis archivos .html como archivos .php y no tengo tiempo para cambiar todos los enlaces antes de nuestra presentación mañana. ¿Hay alguna forma de “piratear” esto con mi servidor Apache?
Cree un archivo .htaccess en la raíz de su sitio web y agregue esta línea:
[Apache2 @ Ubuntu / Debian: use esta directiva]
AddType application/x-httpd-php .html .htm
O, de los comentarios a continuación:
AddType application/x-httpd-php5 .html .htm
Si está ejecutando PHP como CGI (probablemente no sea el caso), debe escribir en su lugar:
AddHandler application/x-httpd-php .html .htm
En My Godaddy Server, el siguiente código funcionaba
Options +ExecCGI AddType application/x-httpd-php .php .html AddHandler x-httpd-php5 .php .html
Para cualquiera que todavía tenga problemas,
intenta esto (mi hosting fue de Godaddy y esto es lo único que funcionó para mí entre todas las respuestas que hay).
AddHandler x-httpd-php5-cgi .html
Necesita agregar la siguiente línea en su archivo de configuración de Apache:
AddType application/x-httpd-php .htm .html
También necesitas otras dos cosas:
Permitir omisión
En el archivo your_site.conf
(por ejemplo, en /etc/apache2/mods-available
en mi caso), agregue las siguientes líneas:
"> AllowOverride All
Habilitar Rewrite Mod
Ejecute este comando en su máquina:
sudo a2enmod rewrite
Después de cualquiera de esos pasos, debe reiniciar Apache:
sudo service apache2 restart
Creo que esta es la mejor manera de ejecutar script php en páginas html y htm:
AddType application/x-httpd-php5 .html .htm
También puede usar el indicador H o T de mod_rewrite para obligar a todos los archivos .html a ser analizados por el controlador php:
usando la bandera H (Handler):
RewriteEngine on RewriteRule \.(html|htm)$ - [H=application/x-httpd-php5]
usando el indicador T (Tipo):
RewriteEngine on RewriteRule \.(html|htm)$ - [T=application/x-httpd-php5]
O puede agregar más extensiones al patrón de regla separado por una tubería | que quieres ser analizado por el controlador de php
ex:
RewriteRule \.(html|htm|txt|foo)$ - [T=application/x-httpd-php5]
el ejemplo anterior cambiará el tipo de archivo mime que termina con .html , .htm , .txt , .foo a php.
Nota: en algunos servidores, deberá cambiar php5 por php para que este ejemplo funcione en la cadena del controlador:
Cambialo
[T=application/x-httpd-php5]
a
[T=application/x-httpd-php]
Normalmente deberías agregar:
Options +ExecCGI AddType application/x-httpd-php .php .html AddHandler x-httpd-php5 .php .html
Sin embargo, para el alojamiento compartido de GoDaddy (php-cgi), debe agregar también estas líneas:
AddHandler fcgid-script .html FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html
Fuente: Parse HTML como PHP usando el archivo HTACCESS en Godaddy .
aquí pon esto en tu .htaccess
AddType application/x-httpd-php .php .htm .html
más información en esta página
Usando el enfoque de @ Marc-François, Firefox me incitó a descargar el archivo html
Finalmente, lo siguiente está funcionando para mí (usando ambos):
AddType application/x-httpd-php .htm .html AddHandler x-httpd-php .htm .html
Esto está en edición para todas las otras respuestas correctas:
Si no puede encontrar el Manejador correcto, simplemente cree un archivo .php con los siguientes contenidos:
y ejecuta / abre este archivo en el navegador.
Use esta salida en el archivo .htaccess
Cree un archivo .htaccess en la raíz de su sitio web (generalmente una carpeta llamada public_html o htdocs en servidores Linux) y agregue esta línea:
AddType [[THE OUTPUT FROM ABOVE FILE]] .html .htm
Ejemplo
AddType application/x-httpd-php70 .html .htm
Si ve una página en blanco o Notice: Undefined index: REDIRECT_HANDLER
Pruebe por defecto en .htaccess
AddHandler application/x-httpd-php .html
AddHandler application/x-httpd-php .php .html .htm // or AddType application/x-httpd-php .php .htm .html
Estoy usando PHP7.1 corriendo en mi Raspberry Pi 3.
En el archivo / /etc/apache2/mods-enabled/php7.1.conf
/ /etc/apache2/mods-enabled/php7.1.conf
/ /etc/apache2/mods-enabled/php7.1.conf
/ /etc/apache2/mods-enabled/php7.1.conf
que agregué al final:
AddType application/x-httpd-php .html .htm .png .jpg .gif
Ejecutando archivos .html, php dejó de funcionar de repente en mi archivo .htaccess.
El apoyo de GoDaddy me hizo cambiarlo a:
AddHandler application/x-httpd-lsphp .html