apache:在静态文件的HTTP头中发送请求URI

为了满足PubSubHubbub 0.4规范的要求,我必须为每个文件发送rel=self标题。

我现在试图用Apache的mod_headers环境variables来做到这一点:

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

这个工作只要文件是由PHP处理,但不适用于没有被mod_php或任何CGI进程处理的静态文件(如*.htm )。

似乎没有办法获得所有当前Apache环境variables的列表,所以我不能检查哪些实际可用。

所以我的问题是:我怎样才能访问Header append指令中当前请求的URL的相对path?


在Apache 2.2.22-13+deb7u4上发生在Debian 7上。

在apache邮件列表上的Nick Kew给了我一个答案 :

REQUEST_URI是一个CGI环境variables。 如果CGI不用于文件,则由于性能原因variables不可用。

你应该可以使用许多服务器variables,例如RewriteCond( http:

启用mod_rewrite并添加“RewriteEngine on”; 这应该导致variables被填充。

如果这还不足以填充所需的服务器variables,那么您还应该发布httpdconfiguration和操作系统细节(例如,很多供应商版本的httpd 2.2,例如Red Hat,都有很多后端) 。