Как правильно включить PHP из SSI? - PullRequest
0 голосов
/ 16 декабря 2010

Я работаю над сайтом, который использует несколько SSI.Поскольку они статичны, имеет смысл обслуживать страницы как .shtml, а не преобразовывать их в php-включения и использовать как .php.Проблема в том, что в одном из включений я хотел бы динамически генерировать контент с помощью php.Является ли следующий правильный путь или есть другие / лучшие решения.На данный момент я делаю следующее:

<!--test.shtml-->
<!DOCTYPE html>
<html lang="en" dir="ltr">
<body>
<!--#include virtual="/test.php" -->
</body>
</html>

<!--test.php-->
<?php echo 'Hello from php'; ?>

Я читал, что это не должно работать, но там, где я читал, речь шла об Apache 1.3.На моем домашнем сервере я использую Apache 2. [что-то], и он отлично работает, он также работает на сервере, где будет размещаться сайт.Так это то, что не работает в 1.3, но работает в 2, или мне просто как-то повезло, и я действительно должен делать это по-другому?

Контент, который я генерирую, просто добавляет класс css/ id для навигации по сайту, чтобы выделить текущую страницу, поэтому PHP кажется немного излишним, так как он будет довольно статичным после его первого генерирования, я могу кешировать вывод PHP на сервере, я полагаю, но, возможно, есть лучшееспособ сделать это в первую очередь (?).

Спасибо за вашу помощь.

РЕДАКТИРОВАТЬ - Не ответ, но по отношению к моему вопросу альтернативного метода.Я нашел, возможно, более подходящий (я стесняюсь сказать, чище, так как уверен, что это можно утверждать, пока коровы вернутся домой) метод для моей ситуации.Поскольку в настоящее время я не использую PHP для чего-либо еще на сайте, я буду придерживаться его сейчас.Это обозначено Dan M здесь .

1 Ответ

1 голос
/ 16 декабря 2010

Так как они статичны, имеет смысл обслуживать страницы как .shtml, а не конвертировать в php включает и служит .php

Ну, так как вы вызываете движок PHP в обоих случаях, и в обоих случаях необходимо проанализировать всю страницу, делая это как .php страница , может иметь больше смысла , поскольку вы гарантированы он будет работать и на серверах Apache 1.x. Затем вы можете просто вывести кэшированную страницу в формате .html, как вы предложили, и иметь это расширение, имеющее приоритет в DirectoryIndex.

...