web-dev-qa-db-ja.com

apache:静的ファイルのHTTPヘッダー内でリクエストURIを送信します

PubSubHubbub 0.4仕様 の要件を満たすには、ファイルごとにrel=selfヘッダーを送信する必要があります。

私は今それを Apacheのmod_headers と環境変数でやろうとしています:

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

これは、ファイルがPHPで処理されている限り機能しますが、*.htmまたはCGIプロセスで処理されない静的ファイル(mod_phpなど)では機能しません。

方法ではないようです 現在のすべてのApache環境変数のリストを取得するため、実際に使用できる変数を確認できません。

だから私の質問は: Header append ディレクティブで現在要求されているURLの相対パスにアクセスするにはどうすればよいですか?


Apache 2.2.22-13+deb7u4を使用したDebian7で発生します。

6
cweiske

Nick KewApacheメーリングリスト 私にくれた 答え

REQUEST_URIはCGI環境変数です。 CGIがファイルに使用されていない場合、パフォーマンス上の理由から変数は使用できません。

1
cweiske

RewriteCond( http://httpd.Apache.org/docs/2.2/mod/mod_rewrite.html#rewritecond )などのディレクティブで使用できるサーバー変数の多くを使用できるはずです。

Mod_rewriteを有効にし、「RewriteEngineon」を追加します。これにより、変数が設定されます。

必要なサーバー変数を設定するのに十分でない場合は、httpd構成とOSの詳細も投稿する必要があります(たとえば、RedHatなどのhttpd2.2の多くのベンダーバージョンには多くのバックポートがあります) 。

0
Cameron Kerr