PHP-FPM FilesMatch 和 ProxyPassMatch 互换性?

Rya*_*iss 5 php apache reverse-proxy

在代理 php-fpm 时 FilesMatch 和 ProxyPassMatch 是否可以互换,如果是这样,是否有任何情况下会使用一个而不是另一个?

目前,根据许多在线教程,我正在通过 vhost 块使用 ProxyPassMatch。

<FilesMatch \.php$>
    SetHandler "proxy:unix:/var/run/php-fpm/php-fpm.sock|fcgi://127.0.0.1:9000/"
</FilesMatch>
<Proxy "fcgi://127.0.0.1:9000/" enablereuse=on max=10>
Run Code Online (Sandbox Code Playgroud)

对比

ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/var/run/php-fpm/php-fpm.sock|fcgi://127.0.0.1:9000/
Run Code Online (Sandbox Code Playgroud)

小智 4

一个重要的区别是ProxyPassMatch会忽略对 .htaccess 中 .php 文件的拒绝访问。

文件匹配更好。

请参阅https://ma.ttias.be/apache-2-4-proxypass-for-php-takeing-precedence-over-filesfilesmatch-in-htaccess/