lighttpd и fastcgi.map-extension обнаружение / согласование содержимого на переписанных чистых URL-адресах без расширений файлов?

Мой текущий веб-сайт использует PHP для создания и вывода HTML-контента в браузер, указанный переписанными «чистыми» URL-адресами.

url.rewrite-once = (
"^/([-a-zA-Z0-9]+)/$" => "/index.php?section=$1",
"^/([-a-zA-Z0-9/]+)/([-a-zA-Z0-9/]+)$" => "/index.php?section=$1&article=$2" 
)

index.php просто вызывает мои функции для создания и вывода контента в зависимости от переменных:

http://domain.com/some-section/this-is-an-article/

В настоящее время это просто плоский вывод HTML, но теперь я хочу, чтобы в плоский вывод включался PHP, в основном для вызовов включения PHP при загрузке страницы в браузере:

<h1>lorem ipsum</h1>
<?php include_once('example.php') ;?>
<p>Dolar sit amet.</p>

Я просто подумал, что смогу отобразить HTML через php как таковой:

fastcgi.map-extensions = ( ".html" => ".php" )

Но поскольку мои URL-адреса физически не имеют расширений файлов, а также не существует физической переписанной страницы с расширением, fastcgi не может ничего сопоставить.

Я проверил, что fastcgi работает, просто создав файл .html со встроенным PHP, и он правильно проанализирован, поэтому я знаю, что расширения файлов .html сопоставляются через fastcgi.

Мой вопрос просто (или не так), как заставить fastcgi/lighttpd отображать мой выводимый контент через PHP, если у него нет расширения?


person Mash    schedule 30.06.2011    source источник
comment
Если вы выводили контент, разве вы не выводили его через php? Если контент отображается, он уже обработан сервером   -  person Colum    schedule 01.07.2011
comment
Ну, в общем, я построил себе простую файловую CMS. http://domain.com/some-section/this-is-an-article/ На самом деле ищет this-is-an-article плоский файл, расположенный в физическом каталоге some-section в моем корневом каталоге. Затем моя функция PHP читает этот файл и создает из него HTML-страницу (включая заголовки/css/меню и т. д.). Итак, в основном я хочу встроить некоторый PHP-код в плоский файл, который также будет в выходном плоском HTML-файле. Просто так же, как вы вставляете <?php echo 'hello' ;?> в HTML-страницу и проталкиваете ее через PHP для интерпретации при загрузке страницы в браузере.   -  person Mash    schedule 01.07.2011
comment
Проведя часы за чтением, я наконец понял, что вы не можете оценить PHP после того, как страница будет обработана, поскольку PHP выполняется на сервере, а не в браузере, следовательно, обработка расширений. Итак, моя проблема в основном заключается в том, как оценить контент, который в настоящее время только что напечатан. Любые идеи, как сделать это хорошо, не прибегая к eval()?   -  person Mash    schedule 03.07.2011
comment
Заметил этот полезный разговор: stackoverflow.com/questions/3326446/   -  person Mash    schedule 03.07.2011