Назад | Перейти на главную страницу

Как добавить обработчики файлов в Apache2?

Я переместил веб-сайт с другого сервера на свой, и есть файл PHP с расширением .ph. На другом сервере все работало нормально, но не на новом. Он просто пытается загрузить файл, о котором идет речь, вместо того, чтобы отправлять его через синтаксический анализатор PHP.

Очевидно, это касается файловых обработчиков, поэтому мне нужно добавить расширение .ph, которое будет обрабатываться как файл .php. Я думал, что это было тривиально, но все равно не мог этого сделать :) Это как-то изменилось в Apache2, и я не могу этого понять.

Я пытался установить обработчик в mime.conf и /etc/mime.types. Пока ничего.

Из-за сложности приложения мне бы не пришлось менять расширение файла. Может ли кто-нибудь указать мне правильное направление? Это не должно быть так сложно :)

Я использую Apache 2.2.17 и PHP 5.3.5 на Ubuntu 11.04.

попробуйте это после изменения конфигурации mime

перезапуск службы apache2

или отредактируйте свой httpd.conf

Обновлено и протестировано:

AddHandler type-map var
AddHandler php5-script .ph
AddType text/html .php

Проблема, похоже, заключалась в том, что у меня было это определение в моем файле /etc/apache2/mods-available/php5.conf:

<FilesMatch "\.ph(p3?|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>

Шаблон регулярного выражения ожидал, что либо p3, либо tml оканчиваются на .ph - prefix.

Самым простым решением было просто добавить:

<FilesMatch "\.ph$">
    SetHandler application/x-httpd-php
</FilesMatch>

в файл. Теперь работает как шарм.