我想在我的服务器上的目录中禁用php.我认为在httpd.conf中设置Options -ExecCGI会阻止php脚本被执行,但显然我错了.
所以,这就是我在httpd.conf中的内容,它显然不起作用:
<Directory "C:/xampp/htdocs/(path_to_directory)/dirname">
Options -ExecCGI
AllowOverride None
</Directory>
Run Code Online (Sandbox Code Playgroud)
问题是,如何防止PHP脚本在特定文件夹中执行?可以在httpd.conf中完成,还是必须使用.htaccess文件?
小智 9
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>
Run Code Online (Sandbox Code Playgroud)
或.htaccess目录中的这些您不希望执行 PHP:
<FilesMatch ".+\.*$">
SetHandler !
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
我已经在 Unix 平台而不是 Windows 上测试过它,希望它会帮助你。
你可以用.htaccess文件做到这一点.你需要将.htaccess文件放在你不想用以下htaccess代码执行php的文件夹中.
<Files *.php>
deny from all
</Files>
Run Code Online (Sandbox Code Playgroud)
您也可以尝试禁用.htaccess文件中的引擎选项:
php_flag engine off
Run Code Online (Sandbox Code Playgroud)