Правило htaccess для разбора php в html файлах не работает
Не могу на всю жизнь понять, почему это не работает - на сервере Dreamhost я создал файл htaccess и добавил AddHandler php5-cgi .html .htm
разрешить php в html-файлах, согласно документам dreamhost. На идентичном пакете Dreamhost я сделал то же самое для другого сайта, и он работал отлично, но в этом случае он просто не будет анализировать php! Могу ли я что-то упустить здесь, что может быть причиной проблемы? Htaccess находится в корне сети и не переопределяется ничем другим.
4 ответа
Ваш сервер использует suPHP, а не mod_php или обычный php-cgi?
Попробуйте использовать
AddHandler x-httpd-php .html .htm
или же
AddType application/x-httpd-php .html .htm
вместо.
постскриптум
Службы общего хостинга используют разделение на основе UID для отдельных учетных записей друг от друга. Большинство используют suPHP, но некоторые используют suEXEC. Они будут использовать один из них. Оба действуют как обертка su вокруг php-cgi, поэтому вы не можете сказать из phpinfo(), как его движок PHP-скриптинга, так как это сообщит Server API
CGI/FastCGI
в обоих случаях. Для сценариев, инициируемых CGI, phpinfo не сообщает о конфигурации Apache. Вам нужно посмотреть FAQ вашего хостинг-провайдера или попробовать:
<?php
header( "Content-Type: text/plain");
echo system('grep -iR LoadModule /etc/httpd /etc/apache2');
Форумы поддержки / FAQ хостинг-провайдера могут дать конкретные советы по настройке здесь. Вы пробовали их?
Попробуй это
AddType application/x-httpd-php .html .htm
Вышеуказанная настройка будет работать, если apache выбирает php как модуль.
AddHandler application/x-httpd-php .html .htm
или же
AddHandler application/x-httpd-php5 .html .htm
выше будет работать, если Apache выполняет PHP как CGI?
я бы сказал, что нет ничего плохого в том, чтобы соединить оба вышеупомянутых условия, но попробовать одно над другим и посмотреть, сработает ли это для вас.
читать больше здесь
У меня та же проблема, что и у вас, но я просто поставил это AddType php .html .htm
к моему.htaccess, это работает.
Для меня это работает только так:
AddHandler php-cgi .php .htm