|
Довольно часто, особенно перед начинающими web-мастерами, встает задача использования различных PHP-скриптов на своих страницах. Чаще всего это происходит в тех случаях, когда необходимо добавить какой-либо сторонний модуль, написанный на PHP в тело HTML-страницы.
В качестве самого простого примера можно привести установки счетчика посещений на сайт. Допустим, Вы приобрели сервис сбора статистики посещений на сайт. После установки Вам предлагается установить код счетчика на все страницы Вашего сайта, на которых необходимо собирать статистику. Выглядит это обычно так – в руководстве скрипта говорится следующее: добавьте на все страницы код:

Вы естественно добавляете код, но он и не собирается собирать статистику. Причина проста – Ваша страница имеет тип .html, а для правильной обработки кода страница должна иметь тип .php и должна быть обработана препроцессором PHP. Но по правилам Вашего хостинга страницы имеющие тип отличный от .php или .phtml не будут обрабатываться с помощью препроцессора PHP.
Самый простой выход из этой ситуации – изменить тип страниц на поддерживаемый Вашим хостингом. Что в этом случае хорошо так это не нужно изменять содержимое страницы. Просто меняем окончание и все прекрасно – и страница отображается по-прежнему и код работает нормально.
Вроде бы проблема решена. Но этот способ подходит только для новых сайтов, где еще не побывали роботы поисковых систем и не проиндексировали страницы Вашего сайта. Если же сайт уже проиндексирован, изменение типа страниц ведет за собой очень неприятные последствия, связанные с тем, что все ссылки, проиндексированные поисковыми роботами и, размещенные на ссылающихся сайтах, в один момент становятся нерабочими.
Кроме этого бывают ситуации, когда нежелательно изменение типа страниц по другим причинам, которых бывает множество. Так что же можно сделать в подобной ситуации? Неужели придется отказываться от использования нужного и полезного сервиса или скрипта. Оказывается, проблема вполне разрешима. Причем для этого совершенно не нужно обладать специальными навыками или писать администрации хостинга писем с просьбой добавить в обработчик PHP дополнительно HTML-страницы.
Если Ваш хостинг работает под управлением web-сервера Apache, а это, скорее всего так и есть. Если Вам разрешено использовать на своем сайте файлы .htaccess и это, скорее всего не запрещено иначе рекомендую Вам сменить хостинг, потому что если администрация вводит такие ограничения, то ничего хорошего ожидать от нее не приходится. Так вот если Вы пользуетесь хостингом под управлением Apache и Вам разрешено использовать файлы .htaccess, то такая проблема решается созданием или редактированием вышеуказанного файла.
Для этого Вам необходимо будет создать в любом текстовом редакторе, не сохраняющем настройки форматирования («Блокнот» полностью выполняет эти требования) файл с именем .htaccess в котором будет содержаться всего одна строчка:
AddType application/x-httpd-php .php .phtml .htm .html
Если у Вас уже есть этот файл, то просто добавьте в него эту строчку и эта проблема будет решена. Этой строчкой Вы укажете серверу Apache, что файлы с типами .htm и .html нужно обрабатывать с помощью препроцессора PHP.
На скорость загрузки страницы это не влияет, а Вы получаете возможность вставлять любые PHP-скрипты в тело Ваших страниц, и они будут прекрасно исполняться.
Если, вдруг, у Вас этот способ не сработает или сервер начнет выдавать ошибку 500, попробуйте добавить еще одну строчку в файл .htaccess перед той, которая была только что добавлена. В результате это будет выглядеть так:
RemoveHandler .html .htm AddType application/x-httpd-php .php .phtml. htm .html
Эта ситуация зависит от версии web-сервера и его первоначальных настроек. Используйте второй способ только в случае необходимости – обычно достаточно только указать обработчику на тип файлов и все. Автор статьи Павлов Сергей http://www.pawlov.info |
Комментарии
Значит у Вас на хостинге запрещено управление данной настройкой web-сервера через .htaccess Цитировать
AddType application/x-httpd-php .php .phtml .htm .html
и все заработало как нужно. Спасибо. Цитировать
Не все же на хостинге тестируют, кто-то и на своём компе Цитировать
Если на хостинге не работает - значит это запрещено администратором в конфигурации web-сервера (директива AllowOverride файла httpd.conf).
Если это так, проблему может решить администратор хостинга.
Если Вы работаете на локальной машине - тогда вообще не понимаю в чем проблема. Конфигурационны е файлы в Вашем полном распоряжении. Установите в конфигурации web сервера, например, так: AllowOverride None Цитировать
RSS лента комментариев этой записи.