Использование PHP в страницах с расширением html

      При создании даже персонального сайта далеко не каждый cможет предусмотреть все возможные способы его дальнейшего использования. Очень важно подготовить почву для облегчения дальнейшего развития сайта и внедрения новых технологий. Если в прошлом вы создали сайт и по умолчанию присвоили всем страницам расширение .html, а только потом решили воспользоваться таким замечательным языком как PHP, то тогда читайте дальше.

      Раньше для использования SSI нужно было иметь страницы с расширением .shtml, но сегодня серверы (большинства компаний по предоставлению услуг хостинга) сконфигурированы так, что SSI можно использовать и на страницах с расширением .html, что весьма удобно. С PHP совсем другая история - страницы должны иметь расширение .php по умолчанию. Разработчики сайтов, заранее зная что будет использоваться данный язык программирования, стразу присваивают правильное расширение.

      Но что же делать если расширение другое и все страницы оканчиваются например на .html? Это можно сделать несколькими способами. Самый явный способ - дать всем страницам расширение .php или изменить уже существующие расширения (.html, .shtml и т.д.). У этого способа есть недостатки. Например уже проиндексированным страницам с расширением html придется заново индексироваться поисковыми системами. Или еще хуже - все внешние ссылки, которые ссылаются явным образом на ту или иную страницу, будут недействительны. И придется оповещать владельцев каждого сайта об этих изменениях и создавать для каждой страницы еще одну страницу с 301 ошибкой. Конечно, изменить одно расширение на другое допустимо, но что делать если сайт уже имеет много страниц и много ссылок на разные страницы с других сайтов?

      По осознанной причине все мои страницы имеют расширение html и мне никак не хотелось делать вышеприведенные изменения, тем самым создавая себе лишние трудности. Можно обойтись и другим способом. Если сервер на котором размещается сайт поддерживает mod_rewrite (в большинстве случаев поддерживает) и есть доступ к изменению файла .htaccess, то можно добавить следующие строки в этот самый файл:

      RewriteEngine on
      RewriteRule ^(.*)\.html $1\.php

      Добавив этот код в .htaccess можно не волноваться. Все запрашиваемые несуществующие страницы с расширением html будут автоматически заменяться расширением php благодаря чудесам от Apache. Но и этот способ является не единственным. Можно прописать следующее в том же самом .htaccess файле:

      AddHandler application/x-httpd-php .php .html .htm

      На мой взгляд самый удачный способ. Это делает html равным php, то есть все функции PHP теперь могут быть использованы на страницах с расширением html. Если нет доступа к .htaccess, то можно написать письмо хостинг компании и попросить чтобы они самостоятельно прописали в конфигурации Apache (httpd.conf) нужное значение для вашего сайта.

      Если до этого на сайте использовалось SSI к примеру таким образом:

      <#include virtual="file.txt">

то тогда в новом PHPшном состоянии можно заменить на:

     <? include('file.txt'); ?>

      Ну вот и все, думаю какой-нибудь из вышеприведенных способов поможет.


Сайт управляется системой uCoz