Как включить файл PHP в страницы SHTML? - PullRequest
3 голосов
/ 08 мая 2009

У меня есть файл shtml index.shtml, в который я хочу включить файл PHP, который выполняет некоторое программирование и возвращает данные HTML. Я пытаюсь включить свой файл PHP, но я не знаю, как это сделать, я пытался следовать, но ничего не работает,

В следующей строке просто выводится сообщение об ошибке: " [ошибка возникла при обработке этой директивы] ":

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

Эта строка отображает некоторые ненужные символы:

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

Эта строка ничего не делает и отображает команду, как на странице .shtml

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

Спасибо

Ответы [ 4 ]

8 голосов
/ 08 мая 2009

Если нет особой причины, по которой вы используете .shtml, помимо того, что вы упомянули о трафике, вы можете изменить его обработку в файле .htaccess:

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

Или вы можете указать этот файл, в частности:

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

Это скажет серверу проанализировать .shtml, как если бы он был .php-файлом, и поэтому любые PHP-команды должны быть обработаны, например, оператор include. Нет необходимости изменять расширение файла.

1 голос
/ 16 марта 2011

Я могу ошибаться, но, учитывая полученную ошибку, проблема может заключаться не в операторе включения, а в включаемом файле php, который вызывает проблему.

0 голосов
/ 08 мая 2009

Я не думаю, что вы можете в Apache (я понятия не имею о других веб-серверах). Документация Apache говорит, что include_virtual позволяет вам включать результаты программы CGI; но PHP не является CGI-приложением в терминах Apache: оно обрабатывается другим модулем, по-другому.

Colin

0 голосов
/ 08 мая 2009

Чтобы последние работали, просто переименуйте ваш .shtml в .php, но учтите, что это остановит работу любого shtml там. Но это не должно быть проблемой, если вы переписываете это на php.

Редактировать из вашего комментария:
Если вы запустите apache, вы можете добавить следующее в ваш .htacces, а затем переименовать файл в .php

 redirect permanent filename.shtml filename.php

Это перенаправит людей, посещающих example.com/filename.shtml, на example.com/filename.php

.
...