Решение проблемы зацикливания обработчика
Помните, обработчик из листинга 29.5 мы связали только с расширениями html и htm, но не php? Мы сделали это, чтобы избежать зацикливания обработчика (см. соответствующее замечание). Давайте исправим положение. Очевидно, нужно связать с PHP еще одно расширение, которое не будет использоваться в сайте нигде, кроме как в имени обработчика из листинга 29.5. Пусть это будет, например, php4. Модифицируем наш .htaccess:
# Связываем расширение php4 с PHP
AddType application/x-httpd-php
php4
# Замкнем имя обработчика на конкретный файл
Action libhandler "/lib/libhandler.php4?"
# Документы этого типа мы желаем "пропускать" через наш обработчик
AddHandler libhandler .html .htm .php
Ну и, конечно, осталось только переименовать имеющийся у нас файл libhandler.php в libhandler.php4.
Теперь все сценарии с расширением php могут использовать функции, предоставляемые библиотекарем.