为了满足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,有很多后向端口) .