Назад | Перейти на главную страницу

Код ForceType / SetHandler - почему это работает?

Я пробовал этот код, хотя он почему-то работает, в нем нет ошибок?

Я не знаю, как лучше это исправить, но вот он ...

<Files .+*^$[]()>
ForceType application/x-httpd-php
SetHandler application/x-httpd-php
</Files>

Не уверен, почему это работает; это ошибка регулярного выражения? Означает ли это, что у меня может быть файл без расширения с кодом PHP, изображениями и т. Д., И он будет работать хорошо, или для этого есть альтернативный код?

(имейте в виду, что это c & p'd с форума сценариев PHP ...)

Нет, это не похоже на PCRE. Парсинг Apache является подмножеством этого. Если вы хотите точно знать, почему это работает, вам нужно загрузить исходный код apache и начать читать srclib / pcre / pcre.c.

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

<FilesMatch ^\b\w*\b$>
    SetHandler application/x-httpd-php
</FilesMatch>

Однако не совсем понятно, что вы подразумеваете под словом «работает». Вы можете иметь в виду, что он не создает ошибки или что он имеет какое-то другое неожиданное поведение, которое полезно ..