Обработка html как php

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

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

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

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

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

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

Читайте также:  Sqlite3 get column names python

По осознанной причине на данный момент все страницы этого сайта заканчиваются расширением 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 следующим образом:

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

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

Источник

Как заставить html-страницы обрабатывать PHP код?

По умолчанию PHP-скриптами считаются лишь файлы с расширением .php и .phtml. Чтобы включить обработку PHP-кода в файлах с расширением .html или .htm, нужно добавить в файл .htaccess следующую директиву:

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

Если в нужной папке нет файла .htaccess, создайте его. Действие директив этого файла распространяется и на все вложенные папки.

Другие вопросы в разделе «PHP»

  • Что такое PHP?
  • Какая версия PHP работает на хостинге?
  • Можно ли на разных сайтах использовать PHP разных версий?
  • Как узнать текущие установки PHP?
  • Какой путь к исполняемому файлу интерпретатора PHP?
  • PHP установлен как модуль Apache или как CGI?
  • PHP на вашем хостинге работает в режиме Safe Mode?
  • Установлен ли у вас модуль РНР сURL?
  • Как выключить отображение ошибок PHP?
  • Какой размер оперативной памяти используется под PHP-приложения?
  • Как увеличить объем загружаемого файла через скрипты?
  • Почему вместо результатов работы PHP-скрипта я вижу лишь пустую белую страницу?
  • Почему вместо результатов работы PHP-скрипта скачивается файл index.php?
  • Можно ли устанавливать собственные настройки php.ini?
  • Какие директивы php.ini можно настроить с помощью .htaccess?
  • Как включить параметр allow_call_time_pass_reference?
  • Как включить параметр register_globals?
  • Возможно ли использовать функции для работы с IMAP в PHP?
  • У вас установлен модуль ionCube?
  • Как изменить часовой пояс на сайте?
  • Как запустить PHP в режиме CGI?
  • Общие вопросы о «Джино»
    • Основные вопросы о «Джино»
    • Оплата услуг
    • Основные вопросы по хостингу
    • Управление сайтом
      • Работа с файлами
      • FTP-доступ
      • Задания по расписанию (cron)
      • Доступ по SSH
      • PHP
      • CGI
      • MySQL
        • Общие вопросы по MySQL
        • phpMyAdmin
        • Joomla!
        • osCommerce
        • Invision Power Board
        • MODX
        • WordPress
        • Основные вопросы по доменам
        • Регистрация доменов
        • Перенос доменов
        • Домены .рф
        • Основные вопросы
        • Редактирование сайта
        • Основные вопросы
        • Настройка почтовых клиентов
        • Почтовый интерфейс (WebMail)

        Источник

        Как заставить nginx интерпретировать html файлы как php?

        Имеется сервер nginx+phpfpm.
        Файлы с расширением .php отдаются нормально, а в файлах .htm/.html php-код отдается исходным текстом не транслируясь. Как заставить nginx транслировать html файлы с php-кодом?

        Оценить 7 комментариев

        location ~ .php$ fastcgi_pass unix:/tmp/fastcgi.socket;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/siteru$fastcgi_script_name;
        include fastcgi_params;
        >

        Если прописать:

        location ~ .(php|html)$ fastcgi_pass unix:/tmp/fastcgi.socket;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/siteru$fastcgi_script_name;
        include fastcgi_params;
        >

        то при открытии выходит ошибка Access denied даже если права на файл 777

        Да, можете оформить как ответ.
        Я правильно понял, что в конфиг php-fpm.conf необходимо в конец добавить строку:
        security.limit_extensions = .php .html и после этого перезапустить php5-fpm? Я проделал это, но ошибка, увы, не ушла. Версия php-fpm 5.3.13. Конфиг правил по адресу: /etc/php5/fpm/php-fpm.conf
        OS: Debian 6

        Подсказал в комментарии к вопросу, оформляю как ответ (для тех, кто столкнётся с этой проблемой).

        1. nginx должен передавать html-файлы fastcgi-бэкенду. Для этого надо изменить Location, где прописана обработка php-файлов, либо добавить новый Location.

        2. php-fpm по умолчанию отказывается обрабатывать файлы, оканчивающиеся НЕ на «.php»
        В php-fpm.conf (или же в конфиг вашего пула, если у вас есть деление на пулы) средует добавить строку:
        security.limit_extensions = .php .html
        Помните, что это настройка безопасности. Будьте уверены, что подумали о возможных последствиях.

        Источник

        Как подключить PHP к HTML?

        PHP — это встраиваемый серверный язык программирования. Большая часть его синтаксиса заимствована из C , Java и Perl . А также добавлена пара уникальных характерных только для PHP функций . Основная цель этого языка — создание динамически генерируемых PHP HTML страниц .

        PHP в HTML

        При создании сложных веб-страниц вы столкнетесь с необходимостью объединить PHP и HTML для реализации конкретных задач. На первый взгляд это может показаться сложным, так как PHP и HTML являются двумя независимыми дисциплинами, но это не так. PHP предназначен для взаимодействия с HTML , и его код может быть включен в разметку страницы.

        В HTML-страницы PHP-код включается с помощью специальных тегов. Когда пользователь открывает страницу, сервер обрабатывает PHP-код , а затем отправляет результат обработки ( не сам PHP-код ) в браузер.

        HTML и PHP довольно просто объединить. Любая часть PHP-скрипта за пределами тегов игнорируется PHP-компилятором и передается непосредственно в браузер. Если посмотреть на пример, приведенный ниже, то можно увидеть, что полный PHP-скрипт может выглядеть следующим образом:

        Приведенный выше код — это обычный HTML с небольшим фрагментом PHP , который выводит текущую дату, используя встроенную функцию date . При этом весь HTML будет игнорироваться PHP-компилятором и передаваться в браузер без изменений.

        Интегрировать PHP в HTML действительно очень легко. Помните, что скрипт — это HTML-страница с включением определенного PHP кода . Можно создать скрипт, который будет содержать только HTML (без тегов ), и он будет нормально работать.

        Источник

Оцените статью