如何停止 ProxyPassMatch(mod_proxy)以禁用目录列表(mod_autoindex)?

如何停止 ProxyPassMatch(mod_proxy)以禁用目录列表(mod_autoindex)?

最近我编译了支持 fpm 的 php 5.3.11,然后我很快就使用

ProxyPassMatch "^/(.*\.php(/.*)?)$" "fcgi://127.0.0.1:9000/$1"
DirectoryIndex index.html index.htm index.sthml welcome.html /index.php index.php

它使 php 工作正常,但停止目录列表;另一方面,我有:

<FilesMatch ".*\.php.*">
     SetHandler "proxy:fcgi://127.0.0.1:9000/var/www/"
     DirectoryIndex index.html index.htm index.shtml welcome.html index.php /index.php
     Options +Indexes +Multiviews +Includes +FollowSymLinks
</FilesMatch>

并且它作为 ProxyPassMatch 向后工作,一切正常,但 php 中断。

我有我的 php-fpm.conf 指令:listen = 127.0.0.1:9000

我试过

监听 = /var/run/php-fpm.sock

但事情还是发生了。

是否不能将 Options +Indexes +Multiviews +Includes +FollowSymLinks 与 ProxyPassMatch 一起使用?

为什么我的 FilesMatch 指令不起作用?我甚至尝试设置 Handler 的完整路径

相信我,我已经尝试了几乎所有使用 google、服务器故障和 stack overflow 找到的方法!!!

感谢您的帮助。

答案1

与索引等相关的选项在 Files/FilesMatch 中没有意义,它旨在用于“目录”。

你应该尝试类似这样的方法:

<Directory /path/to/documentroot>
    DirectoryIndex index.html index.htm index.shtml welcome.html index.php
     Options +Indexes +Multiviews +Includes +FollowSymLinks
    <FilesMatch \.php>
        SetHandler "proxy:fcgi://127.0.0.1:9000/var/www/"
    </FilesMatch>
</Directory>

注意:索引将显示目录列表。

相关内容