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

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

我在服务器上安装了 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” 是 vhost 中的 DocumentRoot。

在该目录中,我有一个 .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 语句来接受这样的重写?

答案1

您的问题是 .htaccess 文件从未被读取。只有在 apache 确定需要在其本地文件系统上查找请求的资源后,才会读取 .htaccess。但是,您告诉 apache 将请求转发给另一个进程...

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

相关内容