Może to być również spowodowane przekierowaniem serwera.
Sprawdź wyjście phpinfo i sprawdź $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']
również zmienną.
Objaśnienie:
Jeśli pracujesz z modułem Apache mod_rewrite i chcesz ustawić niektóre zmienne środowiskowe, instrukcja Apache mówi, że dostęp do tych zmiennych można uzyskać za pomocą CGI $ENV{VAR}
. W PHP możesz chcieć pisać, $_ENV['VAR']
aby uzyskać wartość VAR, ale musisz uzyskać dostęp, jeśli za pośrednictwem $_SERVER
i na kilka różnych sposobów:
- Przykład: .htaccess i example.php
RewriteEngine na RewriteRule ^? Var1 = ([^;] ); var2 = ([^;] ) $ \ - [E = VAR1: 1 $, E = VAR2: 2 $]
- Przykład: .htaccess i index.php
RewriteEngine na RewriteRule ^ index.php $ - [L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: 1 $, E = VAR2: 2 $]
Uwaga: Jeśli jakakolwiek reguła RewriteRule jest zgodna, przekierowanie wewnętrzne następuje ponownie (po ostatniej zdefiniowanej regule lub bezpośrednio po dopasowanej regule mającej flagę L), sprawdzając ponownie cały zestaw reguł. W przypadku przekierowania wewnętrznego każda zdefiniowana zmienna VAR otrzymuje prefiks „REDIRECT_”, tzn. Zmienna VAR1 będzie oznaczona jako REDIRECT_VAR1, zmienna VAR2 będzie oznaczona jako REDIRECT_VAR2.
Oczywiście możesz (dodatkowo) przedefiniować oryginalną VAR:
RewriteEngine na RewriteRule ^ index.php $ \ - [E = VAR1:% {REDIRECT_VAR1}, E = VAR2:% {REDIRECT_VAR2}, L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: 1 $, E = VAR2: 2 $]
Dzięki temu będziesz mieć $_SERVER['REDIRECT_VAR*']
i $_SERVER['VAR*']
.
Podane przykłady mają jedynie charakter wyjaśniający, w każdym razie nie mają na celu dopasowania do Twoich potrzeb. „\” W przykładach .htaccess służy wyłącznie do wyświetlania, nie powinny występować w prawdziwym pliku .htaccess. Separator argumentów; w linkach może być również „&”, ale może to powodować problemy z HTML / XHTML. Więcej informacji na temat tego problemu można znaleźć na następujących stronach: