Può essere dovuto anche al reindirizzamento del server.
Controlla l'output di phpinfo e controlla $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']
anche la variabile.
Spiegazione :
Se si sta lavorando con il modulo Apache mod_rewrite e si desidera impostare alcuni parametri di ambiente, il manuale di Apache afferma che è possibile accedere a questi parametri in CGI usando $ENV{VAR}
. In PHP potresti voler scrivere $_ENV['VAR']
per ottenere il valore di VAR, ma devi accedere se tramite $_SERVER
, e in diversi modi:
- Esempio: .htaccess ed example.php
RewriteEngine su RewriteRule ^? Var1 = ([^;] ); var2 = ([^;] ) $ \ - [E = VAR1: $ 1, E = VAR2: $ 2]
- Esempio: .htaccess e index.php
RewriteEngine su RewriteRule ^ index.php $ - [L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]
Nota: se qualsiasi RewriteRule corrisponde, un reindirizzamento interno riavvia (dopo l'ultima regola definita o immediatamente dopo la regola abbinata con un L-flag) che controlla di nuovo l'intero set di regole. Per un reindirizzamento interno, ogni VAR definito ottiene un prefisso "REDIRECT_", ovvero VAR1 sarà REDIRECT_VAR1, VAR2 sarà REDIRECT_VAR2.
Ovviamente, puoi (ulteriormente) ridefinire il VAR originale:
RewriteEngine su RewriteRule ^ index.php $ \ - [E = VAR1:% {REDIRECT_VAR1}, E = VAR2:% {REDIRECT_VAR2}, L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]
Con questo, avrai $_SERVER['REDIRECT_VAR*']
e $_SERVER['VAR*']
.
Gli esempi forniti sono solo a scopo esplicativo, in ogni caso, non sono intesi per soddisfare le tue esigenze. I "\" negli esempi .htaccess sono solo a scopo di visualizzazione, non dovrebbero verificarsi in un vero file .htaccess. L'argomento separatore ';' nei link può anche essere '&', ma ciò può causare qualche problema con HTML / XHTML. Vedere le seguenti pagine per ulteriori informazioni su questo problema: