Я нашел это решение, не знаю, лучший ли он, но у меня работает.
Удалите строку:
ProxyPassMatch ^ / (. * \. Php (/.*)?)$ fcgi: //127.0.0.2: 9126 / <путь> / $ 1
Добавьте это в свою директиву:
Параметры -Indexes + FollowSymLinks -ExecCGI + MultiViews
AllowOverride All
RewriteEngine On
RewriteBase /
RewriteOptions InheritBefore
RewriteCond% {REQUEST_FILENAME} -f
RewriteRule ^ ([^ \.] + \. Php) $ fcgi: //127.0.0.2: 9126 / var / www / yoursite.com / $ 1 [L, P]
Заказать разрешить, запретить
разрешить от всех
= 2.4>
Требовать все предоставлено
Все реальные файлы php будут перенаправлены на прокси-сервер fcgi.
И « RewriteOptions InheritBefore » Это заставляет текущую конфигурацию наследовать конфигурацию родительского объекта, но применяются до правил, указанных в дочерняя область (.htaccess в каталоге). Это единственный способ, которым я обнаружил совместимость между конфигурацией fcgi и конфигурацией клиента .htaccess.
Для управления другими параметрами, которые могут понадобиться для прокси:
<Прокси-сервер fcgi: //127.0.0.2: 9126>
ProxySet timeout = 1800 disablereuse = on
Переместите логику перезаписи в выражения ProxyPassMatch. Добавьте две дополнительные строки ProxyPassMatch перед строкой в конфигурации вашего виртуального хоста, как показано ниже:
ProxyPassMatch ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes)/.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/<path>/$2
ProxyPassMatch ^/([_0-9a-zA-Z-]+/)?(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/<path>/$2
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/<path>/$1