Использование PHP в страницах с расширением html | Все что вы хотели знать о хостинге и сайтостроении

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


Рубрика: Apache, PHP

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

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

Но что делать, когда все страницы заканчиваются расширением .html?

Заменяем расширение HTML на PHP

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

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

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

RewriteEngine onRewriteRule ^(.*)\.html $1\.php

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

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

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

Если вам понравилась статья или была полезна, поделитесь ею с друзьями: