SetEnvIf を使用して変数を別の変数に割り当てる

SetEnvIf を使用して変数を別の変数に割り当てる

Apache 2.2 には<if>ディレクティブがないので、変数にデフォルト値を割り当て、リクエスト ヘッダーに Origin パラメータが含まれている場合はそれを置き換えることで、明示的な if/then ロジックの欠如を回避しようとしています。

<IfModule mod_headers.c>
  SetEnvIfNoCase ORIGIN ".+" ORIGINVAR=ORIGIN
  SetEnvIfNoCase ORIGIN "^$" ORIGINVAR="*"
  Header always set Access-Control-Allow-Origin: %{ORIGINVAR}e
</IfModule>

しかし、ORIGINVAR ORIGIN 値を割り当てることができないので、次のことを試しました:

  • ORIGIN
  • HTTP_ORIGIN
  • %{ORIGIN}e
  • %{ORIGIN}
  • "%{ORIGIN}e"
  • "%{ORIGIN}"

これらはすべて、変数を解決せずに、正確な文字列を返すだけです。

関連情報