.bashrc のユーザーでログインした後、コマンドラインから httpd を起動しようとしているのでしょうか?
apache ユーザーなど、システムユーザーの権限で httpd を起動する場合、環境変数は起動スクリプトや、起動スクリプトから読み込まれるファイルに設定すると思います。
例えば、CentOS であれば、/etc/sysconfig/httpd に。
また、SetEnvIf で attribute (比較対象)として環境変数を参照するときの書式は、%{ENV:APP_ENV} ではなく、APP_ENV でいいようです(%{ENV:APP_ENV} は mod_rewrite の書式)。
ただし、attribute (比較対象)に環境変数を参照する場合、それ以前に SetEnvIf で設定した環境変数しか利用できないようです。
つまり、httpd 起動時の環境変数は SetEnvIf では参照できません。
代替方法としては、
A-1. /etc/sysconfig/httpd で APP_ENV=staging を設定
A-2. .htaccess に PassEnv APP_ENV
を設定し、CGI, SSI に渡す
A-3. CGI, SSI 側で環境変数 APP_ENV によって処理を分ける
または、
B-1. /etc/sysconfig/httpd で APP_TOOL=1 を設定
B-2. .htaccess に PassEnv APP_TOOL
を設定し、CGI, SSI に渡す
などの方法が考えられます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/06 06:25