前提
httpd.conf内のifディレクティブ内でLoadModuleを使用した場合、ルールの一致に関係なく毎回実行されてしまいます。
命令がloadModuleではなくRedirectの場合は、ifディレクティブでも条件に一致した時だけ実行されます。(正しい動作)
Apacheの起動の時点で、実行されているようです。
ディレクティブの処理の順序が影響している気がしているのですが、何が原因かわかりません。
実現したいこと
ifディレクティブの判定に一致した時のみ、loadModule、LoadFileの命令を実行したい。
発生している問題・エラーメッセージ
httpd.conf内のifディレクティブ内でLoadModuleを使用した場合、ルールの一致に関係なく毎回実行されてしまう。
該当のソースコード
httpd.conf
1Define PhpVer 73 2 3# ルールに一致しない時も読み込まれる(おかしい) 4<If "${PhpVer} == 32"> 5 LoadModule php_module ".../php${PhpVer}/php8apache2_4.dll" 6</If> 7
試したこと
IfDefineの場合は正しく動作するか試しました。
httpd.conf
1 2# 一致する場合のみ実行される(正しい) 3<IfDefine aaaa> 4 LoadModule php_module ".../php${PhpVer}/php8apache2_4.dll" 5</IfDefine>
補足情報(FW/ツールのバージョンなど)
Apache/2.4.29 (Win32)
Windows 10 のローカル環境で実行しています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/04/22 08:27
2022/04/22 08:44
2022/04/22 09:15