サーバーのリダイレクトも原因である可能性があります。
phpinfoの出力を確認して確認してください $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']
変数も。
説明 :
Apacheモジュールmod_rewriteを使用していて、いくつかの環境変数を設定したい場合、Apacheのマニュアルでは、これらの変数はCGIでを使用してアクセスできます$ENV{VAR}
。PHPでは$_ENV['VAR']
、VARの値を取得するために記述したい場合がありますが、を介して$_SERVER
、いくつかの異なる方法でアクセスする必要があります。
- 例:.htaccessおよびexample.php
RewriteRuleのRewriteEngine ^?var1 =([^;] ); var2 =([^;])$ \-[E = VAR1:$ 1、E = VAR2:$ 2]
- 例:.htaccessおよびindex.php
RewriteRuleのRewriteEngine ^ index.php $-[L] RewriteRule?var1 =([^;] ); var2 =([^;])$ \ index.php [E = VAR1:$ 1、E = VAR2:$ 2]
注:RewriteRuleが一致した場合、内部リダイレクトが再起動し(最後に定義されたルールの後、または一致したルールにLフラグが設定された直後)、ルールセット全体を再度チェックします。内部リダイレクトの場合、定義されたすべてのVARは「REDIRECT_」プレフィックスを取得します。つまり、VAR1はREDIRECT_VAR1になり、VAR2はREDIRECT_VAR2になります。
もちろん、元のVARを(さらに)再定義できます:
RewriteRuleのRewriteEngine ^ index.php $ \-[E = VAR1:%{REDIRECT_VAR1}、E = VAR2:%{REDIRECT_VAR2}、L] RewriteRule?var1 =([^;] ); var2 =([^;]) $ \ index.php [E = VAR1:$ 1、E = VAR2:$ 2]
これで、あなたはとを持つことに$_SERVER['REDIRECT_VAR*']
なり$_SERVER['VAR*']
ます。
与えられた例は説明のためだけのものであり、いずれの場合も、あなたのニーズに合うことを意図していません。.htaccessの例の「\」は表示のみを目的としており、実際の.htaccessファイルでは使用しないでください。引数セパレーター ';' リンク内の「&」も使用できますが、これによりHTML / XHTMLで問題が発生する可能性があります。この問題の詳細については、次のページを参照してください。