Apache RewriteRule direktifleri çevre değişkenleri ayarlarken, ne değişken adı "REDIRECT_" öneki ile neden olur?

0 Cevap php

Ben bir. Htaccess dosyasına RewriteRule kurallara [E=VAR:VAL] bayrağı ile (PHP kullanım için) Apache ortam değişkenlerini ayarlamak çalışıyorum.

Zaten değişkenleri (anlamda belirli bir miktar yapar) sunucu değişkenleri $_SERVER yerine $_ENV şeklinde PHP erişilir keşfetmişlerdir. Bazı kurallar için beklenen ve ben bir değişken ile son olarak [E=VAR:VAL] bayrak işleri $_SERVER['VAR'], ancak diğer kurallar için ben bir değişken ile sona Ancak, benim sorunum $_SERVER['REDIRECT_VAR'] ya da $_SERVER['REDIRECT_REDIRECT_VAR'], vs

A. Ne değişken adına önüne "REDIRECT_" alarak adını almak için [E=VAR:VAL] bayrağını kullanarak Apache ayarlanmış bir ortam değişkeni neden olur?

B. Ne Eminim yüzden ben değişken adı birine sahip varyasyonları için kontrol için başvurmak zorunda kalmadan $_SERVER['VAR'] olarak PHP erişebilirsiniz değişmeyen ismi ile bir çevre değişkeni ile sonuna kadar yapmak için ne yapabilirim "REDIRECT_" daha fazla örneklerini ona önüne?

Partial solution found. Her yönlendirme üzerine VAR (yanı sıra orada REDIRECT_VAR sürümleri bırakarak) Gerektiğinde eğer: yeniden yazma kurallarının başlamasından aşağıdaki ekleme orijinal ENV yeniden:

RewriteCond %{ENV:REDIRECT_VAR} !^$
RewriteRule .* - [E=VAR:%{ENV:REDIRECT_VAR}]

0 Cevap