Dies kann auch an der Serverumleitung liegen.
Bitte überprüfen Sie die phpinfo-Ausgabe und auch die $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']
Variable.
Erklärung:
Wenn Sie mit dem Apache-Modul mod_rewrite arbeiten und einige Umgebungsvariablen festlegen möchten, heißt es im Apache-Handbuch, dass mit CGI auf diese Variablen zugegriffen werden kann $ENV{VAR}
. In PHP möchten Sie vielleicht schreiben $_ENV['VAR']
, um den Wert von VAR zu erhalten, aber Sie müssen auf folgende Weise zugreifen $_SERVER
:
- Beispiel: .htaccess und example.php
RewriteEngine on RewriteRule ^? Var1 = ([^;] ); var2 = ([^;] ) $ \ - [E = VAR1: $ 1, E = VAR2: $ 2]
- Beispiel: .htaccess und index.php
RewriteEngine on RewriteRule ^ index.php $ - [L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]
Hinweis: Wenn eine RewriteRule übereinstimmt, wird eine interne Umleitung neu gestartet (nach der zuletzt definierten Regel oder unmittelbar nach der übereinstimmenden Regel mit einem L-Flag) und der gesamte Regelsatz erneut überprüft. Bei einer internen Umleitung erhält jede definierte VAR das Präfix 'REDIRECT_', dh VAR1 ist REDIRECT_VAR1, VAR2 ist REDIRECT_VAR2.
Natürlich können Sie die ursprüngliche VAR (zusätzlich) neu definieren:
RewriteEngine on RewriteRule ^ index.php $ \ - [E = VAR1:% {REDIRECT_VAR1}, E = VAR2:% {REDIRECT_VAR2}, L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]
Damit haben Sie $_SERVER['REDIRECT_VAR*']
und $_SERVER['VAR*']
.
Die angegebenen Beispiele dienen nur zur Erläuterung. Sie sind jedoch nicht dazu gedacht, Ihren Anforderungen zu entsprechen. Die "\" in den .htaccess-Beispielen dienen nur zu Anzeigezwecken. Sie sollten in einer echten .htaccess-Datei nicht vorkommen. Das Argument Trennzeichen ';' in Links kann auch '&' sein, dies kann jedoch zu Problemen mit HTML / XHTML führen. Weitere Informationen zu diesem Problem finden Sie auf den folgenden Seiten: