Bisa juga karena pengalihan server.
Silakan periksa output phpinfo dan periksa $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']
variabel juga.
Penjelasan:
Jika Anda bekerja dengan mod_rewrite modul Apache dan ingin mengatur beberapa vars lingkungan, manual Apache mengatakan vars ini dapat diakses di CGI menggunakan $ENV{VAR}
. Dalam PHP Anda mungkin ingin menulis $_ENV['VAR']
untuk mendapatkan nilai VAR, tetapi Anda harus mengaksesnya melalui $_SERVER
, dan dengan beberapa cara berbeda:
- Contoh: .htaccess dan example.php
RewriteEngine pada RewriteRule ^? Var1 = ([^;] ); var2 = ([^;] ) $ \ - [E = VAR1: $ 1, E = VAR2: $ 2]
- Contoh: .htaccess dan index.php
RewriteEngine pada RewriteRule ^ index.php $ - [L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]
Catatan: Jika ada RewriteRule yang cocok, pengalihan internal daripada restart (setelah aturan yang ditentukan terakhir, atau segera setelah aturan yang cocok memiliki tanda L) memeriksa seluruh aturan yang ditetapkan lagi. Untuk pengalihan internal, setiap VAR yang ditentukan mendapat awalan 'REDIRECT_', yaitu VAR1 akan menjadi REDIRECT_VAR1, VAR2 akan menjadi REDIRECT_VAR2.
Tentu saja, Anda dapat (tambahan) mendefinisikan kembali VAR asli:
RewriteEngine pada RewriteRule ^ index.php $ \ - [E = VAR1:% {REDIRECT_VAR1}, E = VAR2:% {REDIRECT_VAR2}, L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]
Dengan ini, Anda akan memiliki $_SERVER['REDIRECT_VAR*']
dan $_SERVER['VAR*']
.
Contoh-contoh yang diberikan hanya untuk penjelasan, dalam hal apapun, mereka tidak dimaksudkan agar sesuai dengan kebutuhan Anda. "\" Dalam contoh .htaccess hanya untuk tujuan tampilan, tidak boleh muncul dalam file .htaccess nyata. Pemisah argumen ';' di tautan juga bisa '&', tetapi ini dapat menyebabkan beberapa masalah dengan HTML / XHTML. Lihat halaman berikut untuk informasi lebih lanjut tentang masalah ini: