Dot-Htaccess

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

  • August 4, 2016

我在伺服器上使用 PHP-FPM 設置了 Apache 2.4。要從 Apache 傳遞到 PHP-FPM,我使用以下命令:

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

“admin_secure”是虛擬主機中的 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 語句來接受這樣的重寫?

您的問題是 .htaccess 文件永遠不會被讀取。.htaccess 僅在 apache 確定它需要在其本地文件系統上查找請求的資源後才被讀取。但是,您告訴 apache 將請求轉發到另一個程序…

您需要將重寫添加到您的主配置中。

引用自:https://serverfault.com/questions/490667