Pregunta

Tengo un archivo shtml index.shtml en el que quiero incluir un archivo PHP que realiza alguna programación y devuelve datos HTML. Estoy tratando de incluir mi archivo PHP pero no sé cómo hacerlo, intenté seguir pero nada funciona,

La siguiente línea solo imprime un error, " [se produjo un error al procesar esta directiva] " ;:

<!--#include file="/SSI/test.php"--> 

Esta línea muestra algunos caracteres basura:

<!--#include virtual="/SSI/test.php"--> 

Esta línea no está haciendo nada y muestra el comando tal como está en la página .shtml

<?PHP 
    include("/SSI/test.php");
?>

Gracias

¿Fue útil?

Solución

Si no hay una razón particular por la que esté usando .shtml aparte de lo que mencionó con respecto al tráfico, puede cambiar su procesamiento en su archivo .htaccess:

<Files *.shtml>
ForceType application/x-httpd-php
</Files>

O puede especificar ese archivo en particular:

<Files filename.shtml>
ForceType application/x-httpd-php
</Files>

Esto le indicará al servidor que analice el archivo .shtml como si fuera un archivo .php y, por lo tanto, cualquier comando PHP debe procesarse, como su declaración de inclusión. No es necesario cambiar la extensión del archivo.

Otros consejos

Podría estar equivocado, pero dado el error que está recibiendo, el problema puede no estar en la declaración de inclusión, sino que se incluye un error en el archivo php que está causando el problema.

No creo que puedas en Apache (no tengo idea de otros servidores web). La documentación de Apache dice que 'include_virtual' le permite incluir los resultados de un programa CGI; pero PHP no es una aplicación CGI en los términos de Apache: es manejada por un módulo diferente, de una manera diferente.

Colin

Para que el último funcione, simplemente cambie el nombre de su .shtml a .php, pero tenga en cuenta que eso detendrá el funcionamiento de cualquier shtml. Pero eso no debería ser un problema si también lo reescribe en php.

Editar desde su comentario:
Si ejecuta Apache, podría agregar lo siguiente en sus archivos .htacces y luego podría cambiar el nombre del archivo a .php

 redirect permanent filename.shtml filename.php

Eso redirigirá a las personas que visiten example.com/filename.shtml a example.com/filename.php

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top