特定の HTTP ヘッダーが送信された場合、環境変数を設定しようとしています。
だから私は詳細を説明するいくつかの異なる方法を試しました
Header set MY_HTTP_HEADER "1"
# tests with with SetEnvIf
SetEnvIf %{HTTP:MY_HTTP_HEADER} ^1$ THE_ENV=ok
SetEnvIf MY_HTTP_HEADER ^1$ THE_ENV=ok
SetEnvIf %{MY_HTTP_HEADER} ^1$ THE_ENV=ok
# tests with RewriteRule
RewriteCond %{HTTP:MY_HTTP_HEADER} ^1$
RewriteRule .* index.php [L,E=THE_ENV:ok]
RewriteCond MY_HTTP_HEADER ^1$
RewriteRule .* index.php [L,E=THE_ENV:ok]
上記のすべてのコードが機能しないため、確かに見逃したことがあります。
編集
正しいものはSetEnvIf MY_HTTP_HEADER ^1$ THE_ENV=ok
@anubhavaが指摘したように、ヘッダーを同じ.htaccessに設定すると機能しないため、このヘッダーを使用してCURLで実際のページを呼び出す別のページを作成しましたcurl_setopt($curl,CURLOPT_HTTPHEADER,array('MY_HTTP_HEADER: 1'));