Расширения SSI для Apache 2
Материал из 1GbWiki.
Версия 12:22, 3 августа 2009 (править) Dmih (Обсуждение | вклад) ← К предыдущему изменению |
Версия 12:38, 3 августа 2009 (править) (отменить) Dmih (Обсуждение | вклад) К следующему изменению → |
||
Строка 2: | Строка 2: | ||
Для того, чтобы в файлах, например, .html у вас заработал PHP, нужно сделать так: | Для того, чтобы в файлах, например, .html у вас заработал PHP, нужно сделать так: | ||
- | * убрать html из графы "Расширения для SSI" | + | * убрать html из графы "Расширения для SSI" (если забудете - это произойдет автоматически) |
* добавить html в графу "Расширения для PHP" | * добавить html в графу "Расширения для PHP" | ||
* подождать 1 час | * подождать 1 час | ||
Строка 24: | Строка 24: | ||
На хостинге 1Gb в общей конфигурации уже присутствует AddType на файлы htm html shtm shtml для обработка SSI в этих типах файлов. Это является ожидаемой традиционной конфигурацией для большого числа Веб-мастеров. В результате для того, чтобы задать другой AddType на любой из этих расширений, необходимо предварительно убрать SSI обработчик с этих файлов, что и можно сделать, удалив соответствующее расширение из списка. | На хостинге 1Gb в общей конфигурации уже присутствует AddType на файлы htm html shtm shtml для обработка SSI в этих типах файлов. Это является ожидаемой традиционной конфигурацией для большого числа Веб-мастеров. В результате для того, чтобы задать другой AddType на любой из этих расширений, необходимо предварительно убрать SSI обработчик с этих файлов, что и можно сделать, удалив соответствующее расширение из списка. | ||
- | Изменение вступит в силу в течение 24 часов (точнее – ночью), для ускорения обратитесь, пожалуйста, к службе поддержки. | + | Изменение вступит в силу в течение 1-2 часов если вы сделаете это вручную, и в течение 24 часов (точнее – ночью), если просто напишите директивы в .htaccess. В последнем случае для ускорения обратитесь, пожалуйста, к службе поддержки. |
[[Категория:WEB-сервер Apache]] | [[Категория:WEB-сервер Apache]] | ||
[[Категория:SSI]] | [[Категория:SSI]] |
Версия 12:38, 3 августа 2009
Коротко о главном
Для того, чтобы в файлах, например, .html у вас заработал PHP, нужно сделать так:
- убрать html из графы "Расширения для SSI" (если забудете - это произойдет автоматически)
- добавить html в графу "Расширения для PHP"
- подождать 1 час
- дописать в .htaccess следующее:
RemoveHandler .html AddType application/x-httpd-php .html
Помните: эта инструкция для Apache!
Примечание: на Windows сервере достаточно только дописать блок в .htaccess.
Объяснение
Веб-сервер Apache2 имеет неудачную архитектуру обработки RemoveHandler / AddType. Традиционно для работы PHP в .html файлах (пример) используют следующую конструкцию в .htaccess:
RemoveHandler .html AddType application/x-httpd-php .html
На Apache 1 это работает хорошо, но на Apache 2 все операции AddType выполняются после всех операций RemoveType, список операций общий для глобальной конфигурации сервера и конфигурации через .haccess. Это приводит к тому, что единожды встреченный в конфигурации AddType сделает невозможным никакой более AddType на этот тип файлов, так как два AddType будут выполнены подряд – это ошибка.
На хостинге 1Gb в общей конфигурации уже присутствует AddType на файлы htm html shtm shtml для обработка SSI в этих типах файлов. Это является ожидаемой традиционной конфигурацией для большого числа Веб-мастеров. В результате для того, чтобы задать другой AddType на любой из этих расширений, необходимо предварительно убрать SSI обработчик с этих файлов, что и можно сделать, удалив соответствующее расширение из списка.
Изменение вступит в силу в течение 1-2 часов если вы сделаете это вручную, и в течение 24 часов (точнее – ночью), если просто напишите директивы в .htaccess. В последнем случае для ускорения обратитесь, пожалуйста, к службе поддержки.