Мод Apache2 AUTOINDEX позволяет включить заголовок и файлы readme, которые я настроил таким образом в каталоге .htaccess
:
ReadMeName footer.html
HeaderName header.php
По какой-то непонятной причине файл заголовка не читается, если .php
, Я переименовал его в header.html и в htaccess тоже:
HeaderName header.html
и это работало отлично (даже когда в .html
это включено <?php ?>
наценки)
Почему Apache делает шляпу, и есть ли способ это исправить?
В соответствии с руководством по директива mod_autoindex / HeaderName:
Имя файла должно преобразовываться в документ с основным типом содержимого
text / * (например, text / html, text / plain и т. д.). Это означает, что имя файла
может ссылаться на CGI-скрипт, если тип файла скрипта реальный (в отличие от
к его выводу) помечается как text / html …
…в то время как .php
тип содержимого файла определяется как application/x-httpd-php
, даже если вывод скрипта по умолчанию text/html
, Однако надежда еще есть. Вы можете фактически разобрать PHP, добавив следующую комбо в ваш .htaccess
до вашего HeaderName
директива:
AddHandler application/x-httpd-php .php
AddType text/html .php
Ни один из них сам по себе не сделает эту работу. Я предполагаю, что здесь Apache (протестированный на 2.4) сначала устанавливает обработчик и анализирует .php
файл, а затем соглашается понять, что тип вывода в основном text/html
в самом деле. Я называю это странным, но это работает!
Других решений пока нет …