Это также может быть связано с перенаправлением сервера.
Пожалуйста, проверьте вывод phpinfo и проверьте $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']
также переменную.
Пояснение:
Если вы работаете с модулем Apache mod_rewrite и хотите установить некоторые переменные среды, руководство Apache сообщает, что эти переменные могут быть доступны в CGI с помощью $ENV{VAR}
. В PHP вы можете захотеть написать, $_ENV['VAR']
чтобы получить значение VAR, но вы должны получить доступ через него $_SERVER
и несколькими различными способами:
- Пример: .htaccess и example.php
RewriteEngine на RewriteRule ^? Var1 = ([^;] ); var2 = ([^;] ) $ \ - [E = VAR1: $ 1, E = VAR2: $ 2]
- Пример: .htaccess и index.php
RewriteEngine на RewriteRule ^ index.php $ - [L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]
Примечание. Если какой-либо RewriteRule совпадает, внутренний переадресация затем перезапускается (после последнего определенного правила или сразу после соответствующего правила, имеющего L-флаг), снова проверяя весь набор правил. Для внутреннего перенаправления каждый определенный VAR получает префикс 'REDIRECT_', т.е. VAR1 будет REDIRECT_VAR1, VAR2 будет REDIRECT_VAR2.
Конечно, Вы можете (дополнительно) переопределить исходный VAR:
RewriteEngine в RewriteRule ^ index.php $ \ - [E = VAR1:% {REDIRECT_VAR1}, E = VAR2:% {REDIRECT_VAR2}, L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]
С этим у вас будет $_SERVER['REDIRECT_VAR*']
и $_SERVER['VAR*']
.
Приведенные примеры служат только для объяснения, в любом случае они не предназначены для удовлетворения ваших потребностей. Символ "\" в примерах .htaccess предназначен только для отображения, он не должен встречаться в реальном файле .htaccess. Разделитель аргументов ';' в ссылках также может быть '&', но это может вызвать некоторые проблемы с HTML / XHTML. Смотрите следующие страницы для получения дополнительной информации об этой проблеме: