Расширения SSI для Apache 2

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 08:35, 16 сентября 2009 (править)
Anastasya (Обсуждение | вклад)
(Объяснение)
← К предыдущему изменению
Текущая версия (12:34, 11 ноября 2013) (править) (отменить)
Renton (Обсуждение | вклад)
(Объяснение)
 
(10 промежуточных версий не показаны.)
Строка 1: Строка 1:
-==Коротко о главном==+== PHP работает в режиме модуля к Apache ==
 +===Коротко о главном===
Для того, чтобы в файлах, например, .html у вас заработал PHP, нужно сделать так: Для того, чтобы в файлах, например, .html у вас заработал PHP, нужно сделать так:
-* убрать html из графы "Расширения для SSI" (если забудете - это произойдет автоматически)+В личном кабинете // "полный список функций" // "управление сайтами и серверами"
-* добавить html в графу "Расширения для PHP"+# убрать html из графы "Расширения для SSI" (если забудете - это произойдет автоматически)
-* подождать 1 час+# добавить html в графу "Расширения для PHP"
 +# нажать "сохранить" и подождать 1 час
 + 
 +[[Изображение:Php_html_handler.jpg|600px|thumb|center|Страница "Управление сайтами и серверами" личном кабинете]]<br clear="both" />
 + 
 +Подключившись по FTP
* дописать в .htaccess следующее: * дописать в .htaccess следующее:
RemoveHandler .html RemoveHandler .html
AddType application/x-httpd-php .html AddType application/x-httpd-php .html
 +
 +Если вы хотите, чтобы в <code>.html</code> файлах также обрабатывались инструкции SSI, то ваш <code>.htaccess</code> будет выглядить так:
 + RemoveHandler .html
 + AddType application/x-httpd-php .html
 + AddOutputFilter INCLUDES .html
Помните: эта инструкция для Apache! Помните: эта инструкция для Apache!
Строка 13: Строка 24:
Примечание: на Windows сервере достаточно только дописать блок в .htaccess. Примечание: на Windows сервере достаточно только дописать блок в .htaccess.
-==Объяснение==+===Объяснение===
Веб-сервер Apache2 имеет неудачную архитектуру обработки RemoveHandler / AddType. Веб-сервер Apache2 имеет неудачную архитектуру обработки RemoveHandler / AddType.
Традиционно для работы PHP в .html файлах (пример) используют следующую конструкцию в .htaccess: Традиционно для работы PHP в .html файлах (пример) используют следующую конструкцию в .htaccess:
Строка 25: Строка 36:
Изменение вступит в силу в течение 1-2 часов если вы сделаете это вручную, и в течение 24 часов (точнее – ночью), если просто напишите директивы в .htaccess. В последнем случае для ускорения обратитесь, пожалуйста, к службе поддержки. Изменение вступит в силу в течение 1-2 часов если вы сделаете это вручную, и в течение 24 часов (точнее – ночью), если просто напишите директивы в .htaccess. В последнем случае для ускорения обратитесь, пожалуйста, к службе поддержки.
 +
 +== PHP работает в режиме FastCGI (UNIX) ==
 +В файл .htaccess достаточно добавить:
 + FcgidWrapper /home/virtwww/'''ваш_FTP_логин'''/.fast-php/fast-php .html
 + AddHandler fcgid-script .html
 +
[[Категория:WEB-сервер Apache]] [[Категория:WEB-сервер Apache]]
-[[Категория:SSI]]+[[Категория:Программирование]]

Текущая версия

Содержание

[править] PHP работает в режиме модуля к Apache

[править] Коротко о главном

Для того, чтобы в файлах, например, .html у вас заработал PHP, нужно сделать так:

В личном кабинете // "полный список функций" // "управление сайтами и серверами"

  1. убрать html из графы "Расширения для SSI" (если забудете - это произойдет автоматически)
  2. добавить html в графу "Расширения для PHP"
  3. нажать "сохранить" и подождать 1 час
Страница "Управление сайтами и серверами" личном кабинете
Страница "Управление сайтами и серверами" личном кабинете

Подключившись по FTP

  • дописать в .htaccess следующее:
RemoveHandler .html
AddType application/x-httpd-php .html

Если вы хотите, чтобы в .html файлах также обрабатывались инструкции SSI, то ваш .htaccess будет выглядить так:

RemoveHandler .html
AddType application/x-httpd-php .html
AddOutputFilter INCLUDES .html

Помните: эта инструкция для Apache!

Примечание: на Windows сервере достаточно только дописать блок в .htaccess.

[править] Объяснение

Веб-сервер Apache2 имеет неудачную архитектуру обработки RemoveHandler / AddType. Традиционно для работы PHP в .html файлах (пример) используют следующую конструкцию в .htaccess:

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

На Apache 1 это работает хорошо, но на Apache 2 все операции AddType выполняются после всех операций RemoveType, список операций общий для глобальной конфигурации сервера и конфигурации через .htaccess. Это приводит к тому, что единожды встреченный в конфигурации AddType сделает невозможным никакой более AddType на этот тип файлов, так как два AddType будут выполнены подряд – это ошибка.

На хостинге 1Gb в общей конфигурации уже присутствует AddType на файлы htm html shtm shtml для обработки SSI в этих типах файлов. Это является ожидаемой традиционной конфигурацией для большого числа Веб-мастеров. В результате для того, чтобы задать другой AddType на любой из этих расширений, необходимо предварительно убрать SSI обработчик с этих файлов, что и можно сделать, удалив соответствующее расширение из списка.

Изменение вступит в силу в течение 1-2 часов если вы сделаете это вручную, и в течение 24 часов (точнее – ночью), если просто напишите директивы в .htaccess. В последнем случае для ускорения обратитесь, пожалуйста, к службе поддержки.

[править] PHP работает в режиме FastCGI (UNIX)

В файл .htaccess достаточно добавить:

FcgidWrapper /home/virtwww/ваш_FTP_логин/.fast-php/fast-php .html
AddHandler fcgid-script .html
Личные инструменты