Cela peut également être dû à la redirection du serveur.
Veuillez vérifier la sortie phpinfo et vérifier $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']
également la variable.
Explication:
Si vous travaillez avec le module Apache mod_rewrite et que vous souhaitez définir des variables d'environnement, le manuel Apache indique que ces variables sont accessibles dans CGI à l'aide de $ENV{VAR}
. En PHP, vous voudrez peut-être écrire $_ENV['VAR']
pour obtenir la valeur de VAR, mais vous devez y accéder via $_SERVER
et de différentes manières:
- Exemple: .htaccess et example.php
RewriteEngine sur RewriteRule ^? Var1 = ([^;] ); var2 = ([^;] ) $ \ - [E = VAR1: $ 1, E = VAR2: $ 2]
- Exemple: .htaccess et index.php
RewriteEngine sur RewriteRule ^ index.php $ - [L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]
Remarque: Si une RewriteRule correspond, une redirection interne redémarre (après la dernière règle définie ou immédiatement après la règle correspondante ayant un indicateur L) vérifiant à nouveau l'ensemble de règles. Pour une redirection interne, chaque VAR défini reçoit un préfixe «REDIRECT_», c'est-à-dire que VAR1 sera REDIRECT_VAR1, VAR2 sera REDIRECT_VAR2.
Bien sûr, vous pouvez (en plus) redéfinir le VAR d'origine:
RewriteEngine sur RewriteRule ^ index.php $ \ - [E = VAR1:% {REDIRECT_VAR1}, E = VAR2:% {REDIRECT_VAR2}, L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]
Avec cela, vous aurez $_SERVER['REDIRECT_VAR*']
et $_SERVER['VAR*']
.
Les exemples donnés sont uniquement à titre d'explication, dans tous les cas, ils ne sont pas destinés à répondre à vos besoins. Les "\" dans les exemples .htaccess sont uniquement à des fins d'affichage, ils ne doivent pas apparaître dans un vrai fichier .htaccess. Le séparateur d'arguments ';' dans les liens peut également être «&», mais cela peut causer des problèmes avec HTML / XHTML. Consultez les pages suivantes pour plus d'informations sur ce problème: