Apache-2.4

將 Apache 授權標頭規則遷移到 Lighttpd

  • October 1, 2017

我的 Web 伺服器多年來一直使用 lighttpd 和 PHP-FPM 執行 PHP 應用程序。現在,在第 3 方軟體升級後,我必須包含一些規則才能啟動 REST API。

<IfModule mod_setenvif.c>
 SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0
</IfModule>
<IfModule mod_rewrite.c>
 Options -MultiViews
 RewriteEngine On
 RewriteBase /api/
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule .* index.php [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
</IfModule>

我想了解它在做什麼,如果支持的話,我會根據 lighttpd 配置重寫它。

設置 HTTP_AUTHORIZATION (“CGI”) 環境變數應該作為 CGI 設置的一部分進行(標頭HTTP_...以 .

重寫配置重寫所有不針對/api/子路徑中的靜態文件或目錄的請求。不使用的 lighttpd ( 1.4.24+)中最接近的mod_magnet是:

url.rewrite-if-not-file = ( "^/api/" => "/api/index.php" )

這也將觸發目錄(只有正常文件不會被重寫),但我認為您實際上不太可能需要/api/路徑中的目錄列表,所以它可能沒問題。

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