Também pode ser devido ao redirecionamento do servidor.
Por favor, verifique a saída do phpinfo e verifique a $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']
variável também.
Explicação:
Se você está trabalhando com o módulo Apache mod_rewrite e deseja definir alguns vars de ambiente, o manual do Apache diz que esses vars podem ser acessados no CGI usando $ENV{VAR}
. Em PHP, você pode querer escrever $_ENV['VAR']
para obter o valor de VAR, mas é necessário acessar se via $_SERVER
e de algumas maneiras diferentes:
- Exemplo: .htaccess e exemplo.php
RewriteEngine on RewriteRule ^? Var1 = ([^;] ); var2 = ([^;] ) $ \ - [E = VAR1: $ 1, E = VAR2: $ 2]
- Exemplo: .htaccess e index.php
RewriteEngine em RewriteRule ^ index.php $ - [L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]
Nota: Se qualquer RewriteRule corresponder, um redirecionamento interno será reiniciado (após a última regra definida ou imediatamente após a regra correspondente ter um sinalizador L) verificando todo o conjunto de regras novamente. Para um redirecionamento interno, todo VAR definido recebe um prefixo 'REDIRECT_', ou seja, VAR1 será REDIRECT_VAR1, VAR2 será REDIRECT_VAR2.
Obviamente, você pode (adicionalmente) redefinir o VAR original:
RewriteEngine em RewriteRule ^ index.php $ \ - [E = VAR1:% {REDIRECT_VAR1}, E = VAR2:% {REDIRECT_VAR2}, L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]
Com isso, você terá $_SERVER['REDIRECT_VAR*']
e $_SERVER['VAR*']
.
Os exemplos apresentados são apenas para explicação; em qualquer caso, eles não se destinam a atender às Suas necessidades. Os "\" nos exemplos .htaccess são apenas para fins de exibição, eles não devem ocorrer em um arquivo .htaccess real. O separador de argumentos ';' nos links também pode ser '&', mas isso pode causar alguns problemas com HTML / XHTML. Consulte as seguintes páginas para obter mais informações sobre esse problema: