【问题标题】:htaccess folder protection + php7.0-fpm/fastcgi : .php files still accessiblehtaccess 文件夹保护 + php7.0-fpm/fastcgi : .php 文件仍然可以访问
【发布时间】:2016-05-26 00:46:24
【问题描述】:

我在 Ubuntu 14.04 上使用 php7.0-fpm/fastcgi、apache 2.4 设置了一个小液滴。
一切都很顺利,除了一个小细节:

问题是我想通过经典的 .htaccess 保护来保护文件夹,没什么特别的。

但是,如果我转到 "my-droplet-ip/my-protected-folder/my-file.php",即使配置了 htaccess,我仍然可以访问它。 p>

如果我转到 "my-droplet-ip/my-protected-folder",登录/通过提示会按预期显示。 "my-droplet-ip/my-protected-folder/a-file.(html|png|ini...)"

的正常行为相同

我读过很多东西,比如 fastcgi 可以在 htaccess 之前“处理”php 文件,但我不知道为什么/如何。

有什么想法吗?

【问题讨论】:

  • 你的 Droplet 是在哪里配置的?哪个云提供商?
  • 它在 DigitalOcean 上。

标签: php apache .htaccess fastcgi


【解决方案1】:

尤里卡。

短篇小说,请勿使用:

ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1

使用 FastCGI 处理 php 文件,因为似乎在 .htaccess 之前评估了 ProxyPassMatch 指令。

更好的使用:

<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/

【讨论】:

    猜你喜欢
    • 2017-07-11
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    相关资源
    最近更新 更多