У меня Apache 2.0, PHP 5.2.4, и эта директива в httpd.conf:
AddType application/x-httpd-php-source .php .php3 .php4 .php5 .php6
AddType
Директива используется для сопоставления заданных расширений файлов с указанным типом содержимого. Это единственное значение данной директивы. Но почему этот метод отключает обработчик PHP, которому присвоены расширения .php, и я могу просматривать исходный код скриптов в моем браузере?
И другой:
AddType application/x-httpd-php5 .php
Почему этот метод включает обработчик PHP? Это просто должно отправить заголовок Content-Type: application/x-httpd-
в мой браузер, и это должно быть только значение директивы AddType
из mod_mime.
Я запутался.
В AddType директива должна влиять только на клиенты интерпретация того, что вы его посылаете. Обычно используется текст / html которые большинство клиентов с готовностью примут и интерпретируют так, как вы хотите. Различные браузеры, такие как I.E. Firefox и Chrome иногда могут интерпретировать эти заголовки по-разному.
Следующей командой является AddHandler что влияет на то, как сервер интерпретирует скрипты.
Ваш вопрос немного сложен для понимания. Вы утверждаете, что когда используете AddType application/x-httpd-php-source .php .php3 .php4 .php5 .php6
что вы можете видеть сам код PHP, а не обработанный HTML, но с AddType application/x-httpd-php5 .php
оно работает?
Вы должны только добавить эту директиву в .phps
или любое другое имя, которое у вас есть для исходных файлов php, которые вы хотите показать с подсветкой синтаксиса, а не те, которые вы хотите интерпретировать. Если вы хотите .php{3,4,5,6}
для нормальной работы добавьте в правильный обработчик x-httpd-php
. Невозможно назначить одно и то же расширение обоим обработчикам и заставить его работать.