Недавно я скомпилировал 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, ошибку сервера и переполнение стека !!!
Спасибо за вашу помощь.
Опции, связанные с 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 покажет листинг каталога.