我在Ubuntu 14.04上使用php7.0-fpm / fastcgi,apache 2.4设置了一个小小的液滴。
除了一个小细节外,一切都顺利进行:
问题是我希望通过经典的.htaccess保护保护文件夹,没什么特别的。
但是,如果我去" my-droplet-ip / my-protected-folder / my-file.php" ,我仍然可以访问它,即使是htaccess配置。
如果我转到" my-droplet-ip / my-protected-folder" ,登录/传递提示会显示为预期。 " my-droplet-ip / my-protected-folder / a-file的相同正常行为。(html | png | ini ...)"
我读了很多东西,比如fastcgi可以"处理"在htaccess之前的php文件,但我不能真正理解为什么/如何。
有什么想法吗?
答案 0 :(得分:0)
尤里卡。
短篇小说,请勿使用:
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1
使用FastCGI处理php文件,因为似乎ProxyPassMatch
之前评估了.htaccess
指令。
更好用:
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
那里有更多细节:https://ma.ttias.be/apache-2-4-proxypass-for-php-taking-precedence-over-filesfilesmatch-in-htaccess/