Apache: отключить php в каталоге

Я хочу отключить php в каталоге на моем сервере. Я думал, что установка Options -ExecCGI в httpd.conf предотвратит выполнение сценариев php, но, очевидно, я ошибаюсь.

Итак, это то, что у меня есть в моем httpd.conf, который, очевидно, не работает:

<Directory "C:/xampp/htdocs/(path_to_directory)/dirname">
    Options -ExecCGI
    AllowOverride None
</Directory>

Вопрос в том, как я могу предотвратить выполнение php-скриптов в определенной папке? Можно ли это сделать в httpd.conf или мне нужно использовать файл.htaccess?

3 ответа

php_flag engine offработает только если вы используете mod_php(так же как mod_php7.x) чем php-fpm

Кажется вы используете php-fpmтак что добавьте следующие строки в httpd.conf:

<Directory "C:/xampp/htdocs/(path_to_directory)/dirname">
<FilesMatch ".+\.*$">
SetHandler !
</FilesMatch>
</Directory>

или это в .htaccess в каталоге вы не ожидаете выполнения PHP:

<FilesMatch ".+\.*$">
SetHandler !
</FilesMatch>

Я проверил его на платформе Unix, а не Windows, надеюсь, это поможет U.

Вы можете сделать это с помощью файла.htaccess. Вам нужно поместить файл.htaccess в папку, в которой вы не хотите запускать php, используя следующий код htaccess.

<Files *.php>
deny from all
</Files>

см. здесь более подробно http://www.wpbeginner.com/wp-tutorials/how-to-disable-php-execution-in-certain-wordpress-directories/ wordpress- directories/

Также вы можете попробовать отключить опцию engine в вашем файле.htaccess:

php_flag engine off

Идти кphp.iniв корневой папкеxamppвнутри PHP и отключите двигатель:

      engine=off
Другие вопросы по тегам