4

私の.htaccessファイルには次のものがあります。

SetEnvIf Host "^example\.com$" myvar=1
<IfDefine myvar>
  RewriteRule ^(.*)$ index2.php?q=$1 [L,QSA]
</IfDefine>

私が知る限り、これは適切に機能するはずです。ただし、からアクセスしたときに「myvar」が定義されているようには見えませんexample.com。が有効になっていることはわかっていますmod_setenvif.c(<IfModule> ブロックで確認しました)。

「myvar」が定義されていない理由はありますか?

4

1 に答える 1

7

これは実際には ServerFault に関する質問ですが、IfDefine環境変数はテストしません。起動時に Apache に渡された構成オプションをテストします。たとえば、実行した場合

apache2 -D MYVAR

次にセクション

<IfDefine MYVAR>
    ...
</IfDefine>

実行されます。

あなたが探しているように、環境変数の条件として機能するApache構成ディレクティブがあるかどうかはわかりません。

于 2009-09-02T17:28:03.350 に答える