
У меня 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.
Я в замешательстве.
решение1
TheДобавитьТипДиректива должна влиять только наклиентыинтерпретация того, что вы посылаете. Распространенная, которая используется, этотекст/htmlкоторые большинство клиентов с готовностью примут и интерпретируют так, как вам нужно. Различные браузеры, такие как IE Firefox и Chrome, иногда могут интерпретировать эти заголовки по-разному.
Следующей командой являетсяAddHandlerчто влияет на то, каксерверинтерпретирует сценарии.
Ваш вопрос немного сложен для понимания. Вы утверждаете, что при использовании AddType application/x-httpd-php-source .php .php3 .php4 .php5 .php6
этого вы можете видеть сам PHP-код, а не обработанный HTML, но с AddType application/x-httpd-php5 .php
этим работает?
решение2
.phps
Эту директиву или любое другое имя следует добавлять только к исходным файлам php, которые вы хотите видеть с подсветкой синтаксиса, а не к тем, которые вы хотите интерпретировать. Если вы хотите .php{3,4,5,6}
, чтобы работало нормально, добавьте его в правильный обработчик x-httpd-php
. Невозможно назначить одно и то же расширение обоим обработчикам и заставить их работать.