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

Apache 2.4 с перенаправлением PHP-FPM .htaccess

У меня установлен Apache 2.4 с PHP-FPM на сервере. Для перехода с Apache на PHP-FPM я использую следующее:

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9001/hosting_files/site.com/admin_secure/$1

«admin_secure» - это DocumentRoot в vhost.

В этом каталоге у меня есть файл .htaccess, содержащий следующее:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
 </IfModule>

Сайт работает, пока я не попытаюсь получить доступ к тому, что должно быть в webroot каталог. Например, если я перейду к vendors/kcfinder/browse.php который находится внутри webroot каталог, я получаю ошибку «Файл не найден». Если я пойду в webroot/vendors/kcfinder/browse.php, оно работает.

Я включил перезапись и ведение журнала прокси, и похоже, что перезапись никогда не происходит. Он просто отправляет все, что я набираю в URL-адресе (если это файл PHP).

Есть ли способ написать мой оператор ProxyPassMatch, чтобы принимать такие перезаписи?

Ваша проблема в том, что файл .htaccess никогда не читается. .htaccess читается только после того, как apache определит, что ему нужно искать запрошенный ресурс в его локальной файловой системе. Однако вы говорите apache перенаправить запрос другому процессу ...

Вам нужно будет добавить перезаписи в ваш основной конфиг.