Apache-2.2

apache:在靜態文件的 HTTP 標頭中發送請求 URI

  • June 9, 2015

為了滿足PubSubHubbub 0.4 規範的要求,我必須為每個文件發送一個rel=self標題。

我現在正在嘗試使用Apachemod_headers和環境變數來做到這一點:

Header append Link '<http://example.org%{REQUEST_URI}e>; rel="self"'

只要文件由 PHP 處理,此功能就有效,但不適用於*.htm未由mod_php或任何 CGI 程序處理的靜態文件(如 )。

似乎沒有辦法獲取所有目前 Apache 環境變數的列表,所以我無法檢查哪些是實際可用的。

所以我的問題是:如何訪問Header append指令中目前請求的 URL 的相對路徑?


發生在帶有 Apache 的 Debian 7 上2.2.22-13+deb7u4

apache 郵件列表上的Nick Kew給了我一個答案

REQUEST_URI是一個 CGI 環境變數。如果 CGI 不用於文件,則出於性能原因,這些變數不可用。

您應該能夠使用許多可用於指令的伺服器變數,例如 RewriteCond ( http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritecond )

啟用 mod_rewrite 並添加“RewriteEngine on”;這應該會導致變數被填充。

如果這還不足以填充您需要的伺服器變數,那麼您還應該發布 httpd 配置和作業系統詳細資訊(例如,許多供應商版本的 httpd 2.2,例如 Red Hat,有很多後向埠) .

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