Bunun nedeni sunucu yeniden yönlendirmesi olabilir.
Lütfen phpinfo çıktısını kontrol edin ve $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']
değişkeni de kontrol edin .
Açıklama:
Apache modülü mod_rewrite ile çalışıyorsanız ve bazı ortam değişkenleri ayarlamak istiyorsanız, Apache el kitabı bu değişkenlere CGI kullanılarak erişilebileceğini söylüyor $ENV{VAR}
. PHP'de $_ENV['VAR']
VAR değerini almak için yazmak isteyebilirsiniz , ancak eğer yoluyla $_SERVER
ve farklı şekillerde erişmeniz gerekir :
- Örnek: .htaccess ve example.php
RewriteRule ^? Var1 = ([^;] ); var2 = ([^;] ) $ \ - [E = VAR1: $ 1, E = VAR2: $ 2] üzerindeki RewriteEngine
- Örnek: .htaccess ve index.php
RewriteRule ^ index.php $ - [L] üzerinde RewriteEngine RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]
Not: Herhangi bir RewriteRule eşleşirse, tüm kural yeniden ayarlanarak tüm yeniden kontrol edilir (yeniden tanımlanmış son kuraldan sonra veya eşleşen kuralın L işaretine sahip olmasından hemen sonra) bir yeniden yönlendirme başlar. Dahili bir yönlendirme için, tanımlanan her VAR bir 'REDIRECT_' öneki alır, yani VAR1 REDIRECT_VAR1, VAR2 REDIRECT_VAR2 olacaktır.
Tabii ki, orijinal VAR'ı (ek olarak) yeniden tanımlayabilirsiniz:
RewriteRule ^ index.php üzerindeki RewriteEngine $ \ - [E = VAR1:% {REDIRECT_VAR1}, E = VAR2:% {REDIRECT_VAR2}, L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]
Bununla, olacak $_SERVER['REDIRECT_VAR*']
ve $_SERVER['VAR*']
.
Verilen örnekler sadece açıklama amaçlıdır, her durumda, ihtiyaçlarınıza uyacak şekilde tasarlanmamıştır. .Htaccess örneklerindeki "\" yalnızca görüntüleme amaçlıdır, gerçek bir .htaccess dosyasında oluşmamalıdır. Bağımsız değişken ayırıcı ';' bağlantılarda '&' da olabilir, ancak bu HTML / XHTML ile ilgili bazı sorunlara neden olabilir. Bu sorun hakkında daha fazla bilgi için aşağıdaki sayfalara bakın: