Как остановить ProxyPassMatch (mod_proxy) для отключения списков каталогов (mod_autoindex)?

Недавно я скомпилировал php 5.3.11 с поддержкой fpm, и как только я получаю apache с помощью

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

Я пробовал

listen = /var/run/php-fpm.sock

Но это все равно происходит.

Разве это невозможно использовать вместе с ProxyPassMatch Options + Indexes + Multiviews + Includes + FollowSymLinks?

Почему моя директива FilesMatch не работает? Я даже попытался установитьHandler полный путь

И поверьте мне, я перепробовал почти все, что нашел, используя Google, ошибку сервера и переполнение стека !!!

Спасибо за вашу помощь.

1
задан 29 July 2017 в 18:58
1 ответ

Опции, связанные с Indexes и подобные им, не имеют смысла внутри 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>

Примечание: Indexes покажет листинг каталога.

0
ответ дан 4 December 2019 в 04:47

Теги

Похожие вопросы