Linux

Apache 在 HTTP 響應標頭中包含 %{TIME_YEAR} 變數的值

  • November 12, 2022

我正在嘗試執行以下操作:

<If "%{IPV6} == 'off'">
 Header always set Attention "you are using still using IPV4 in %{TIME_YEAR}, please blahblah etc"
</If>

(請保留關於通過 HTTP 標頭與人類通信的可行性的評論)

沒有%{TIME_YEAR}它工作正常,但它給出了一個錯誤Unrecognized header format %,

刪除 % 只會導致在{TIME_YEAR}標題中返回文字字元串

我試過使用expr=%{TIME_YEAR}or%{env:TIME_YEAR}但他們也出錯了

我試過添加PassEnv TIME_YEAR之前,但它給出了一個錯誤AH01506: PassEnv variable TIME_YEAR was undefined

根據這個,TIME_YEAR 應該是一個有效的變數:https ://httpd.apache.org/docs/2.4/expr.html

我注意到該頁面上的某些變數被標記為“(期間不可用<If>)”,但時間變數上沒有這樣的指定

我正在使用 Apache 2.4.41(據我所知)應該足以擁有所有這些功能。

這應該有效:

Header always set Attention "expr=you are using still using IPV4 in %{TIME_YEAR}, please blahblah etc"

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