Сделайте Apache Parse PHP в.html файлах на Ubuntu

Я установил Apache и PHP:

sudo apt-get install apache2
sudo apt-get install php5

Затем я создал файл.htaccess в /var/www с:

AddHandler application/x-httpd-php5 .html

Он прекрасно разбирает PHP в файлах.php, но не в любом PHP в файлах.html.

GATEWAY_INTERFACE CGI / 1.1

2 ответа

Вы уверены, что настроены на использование директив в файлах.htaccess?

Найдите директиву AllowOverride в вашем конфигурационном файле apache. Что-то вроде этого:

<Directory /var/www/>
      AllowOverride None

Вам нужно будет обновить строку AllowOverride, заменив "None" на "FileInfo". Другой вариант (лучше IMHO) будет просто обновить существующую строку AddHandler для php, чтобы включить расширение.html:

Приложение AddHandler /x-httpd-php5 .php .html

Ссылка на документацию Apache: http://httpd.apache.org/docs/2.2/mod/mod_mime.html

Вы можете установить мод-php.

# for Ubuntu
apt-get install mod-php
#for Debian
apt-get install libapache2-mod-php5

Название пакета может варьироваться от дистрибутива к дистрибутиву. Используйте поиск apt-cache или aptitude, чтобы найти соответствующий пакет.

Следующим шагом будет включение модуля в apache:

a2nmod php5

Это должно создать файл конфигурации в /etc/apache2/mods-enabled/ с именем php5.conf. Он уже должен содержать всю конфигурацию, необходимую для стандартной установки, поэтому вы можете удалить строку AddHandler из вашего файла.htaccess.

Наконец, вы должны перезагрузить Apache2:

apache2ctl configtest && /etc/init.d/apache2 restart

Сначала он проверит конфигурацию на наличие ошибок и перезапустит Apache2 только если все в порядке. В противном случае apache2 может быть остановлен, но не сможет начать снова.

Другие вопросы по тегам