Назад | Перейти на главную страницу

Как остановить 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

Я попытался

слушайте = /var/run/php-fpm.sock

Но все равно бывает.

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

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

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

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

Параметры, относящиеся к индексам и тому подобное, не имеют смысла внутри 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>

Примечание. Индексы покажут список каталогов.