最近在一台带有apache的服务器上设置了PHP-FPM并且它工作得非常好,但有些png文件我被拒绝访问,例如https://socialsavanna.com/scripts/candy-1.6.0/res/img/action/statusmessage-off.png
在错误日志中我
FastCGI: server "/{DirectoryToCGIBin}/php5-fcgi" stderr: Access to the script '/{DirectoryToWebsite}/scripts/candy-1.6.0/res/img/action/statusmessage-on.png' has been denied (see security.limit_extensions)
其他png工作正常,为什么Apache将此转发给FastCGI以解析为PHP文件?我有什么想法阻止这个?
由于
编辑:配置
LoadModule fastcgi_module modules/mod_fastcgi.so
<IfModule mod_fastcgi.c>
DirectoryIndex index.php index.html index.shtml index.cgi
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /{DirectoryToCGIBin}/php5-fcgi
FastCgiExternalServer /{DirectoryToCGIBin}/php5-fcgi -socket /{socketPath}/php5-fpm.sock -pass-header Authorization
# For monitoring status with e.g. Munin
<LocationMatch "/(ping|status)">
SetHandler php5-fcgi-virt
Action php5-fcgi-virt /php5-fcgi virtual
</LocationMatch>
答案 0 :(得分:0)
显然你的LocationMatch有&#34; status&#34;在正则表达式中,它匹配您的文件名statusmessage-on.png。
如果没有您希望匹配的更多细节,将很难建议如何使其更具体。如果您的网址是从这些内容开始,请尝试
<LocationMatch "^/(ping|status)">