带有 PHP-FPM .htaccess 重定向的 Apache 2.4

nwa*_*lke 5 mod-rewrite .htaccess php5 php-fpm apache-2.4

我在服务器上使用 PHP-FPM 设置了 Apache 2.4。要从 Apache 传递到 PHP-FPM,我使用以下命令:

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9001/hosting_files/site.com/admin_secure/$1
Run Code Online (Sandbox Code Playgroud)

“admin_secure”是虚拟主机中的 DocumentRoot。

在该目录中,我有一个 .htaccess 文件,其中包含以下内容:

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

该站点可以正常工作,直到我尝试访问应该在webroot目录中的内容为止。例如,如果我转到目录vendors/kcfinder/browse.php内的哪个,则会webroot收到“找不到文件”错误。如果我去webroot/vendors/kcfinder/browse.php,它的工作原理。

我打开了重写和代理日志记录,看起来重写从未发生过。它只发送我在 URL 中输入的任何内容(如果它是 PHP 文件)。

有没有办法编写我的 ProxyPassMatch 语句来接受这样的重写?

Kri*_*ien 1

您的问题是 .htaccess 文件永远不会被读取。仅当 apache 确定需要在其本地文件系统上查找所请求的资源时,才会读取 .htaccess。然而,您告诉 apache 将请求转发到另一个进程......

您需要将重写添加到您的主配置中。