Kurs mod_rewrite: Zmienne systemowe



Logika serwisu czasem wymaga odpowiedniego zachowania uzależnionego od przeróżnych czynników. Takimi czynnikami są między innymi przeglądarka, zdalny komputer, ciasteczka, protokół komunikacyjny, czas i wiele innych.

Mod_rewrite umożliwia nam określenie odpowiedniego zachowania i dopasowanie odpowiedniej akcji jeszcze na poziomie samego żądania. Dostęp do wartości tych czynników odbywa się poprzez odwoływanie się do zmiennych systemowych. Zmienne te są ustawione jeszcze przez rozpoczęciem przetwarzania reguł.

Oto najczęściej wykorzystywane zmienne systemowe:
 

Zmienna
Opis i przykładowa wartość
HTTP_USER_AGENT Identyfikator (nazwa) przeglądarki
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; pl-pl) AppleWebKit/531.22.7 (KHTML, like Gecko) Version/4.0.5 Safari/531.22.7
HTTP_REFERER Adres strony odsyłającej
http://test.my.int/test.html
HTTP_COOKIE Wysłane ciasteczka (wartość)
__gads=ID=61c258b3a1c83ed0:T=1274341654:
S=ALNI_MYcvsVBOTJYpSTeI3l_5yNgzqoGEQ
HTTP_FORWARDED Adres IP z jakiego żadanie zostało przekazane (np. przez proxy)
127.0.0.1
HTTP_HOST Nazwa wywoływanego hosta
test.my.int
HTTP_ACCEPT Informacja o treściach jakie akceptyje przeglądarka
application/xml,application/xhtml xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
REMOTE_ADDR Adres IP komputera z jakiego przyszło żądanie
127.0.0.1
REMOTE_HOST Nazwa hosta z jakiego przyszło żądanie
127.0.0.1
REMOTE_PORT Numer portu z jakiego przyszło żądanie
64553
REMOTE_USER Nazwa zautoryzowanego użytkownika (jeżeli strona wymaga autoryzacji)
stasiek
REQUEST_METHOD Metoda żądania
GET
SCRIPT_FILENAME Ścieżka do wykonywanego pliku
/www/test/var_preview
PATH_INFO Dopełnienie ścieżki
/PATH_INFO
QUERY_STRING Lista argumentów
arg1=test
AUTH_TYPE Typ autoryzacji (jeżeli występuje)
Basic
DOCUMENT_ROOT Ścieżka do katalogu głównego serwisu
/www/test
SERVER_ADMIN Adres e-mail administratora serwera
user@example.com
SERVER_NAME Nazwa serwera (vhosta)
test.my.int
SERVER_ADDR Adres IP serwera
127.0.0.1
SERVER_PORT Numer portu serwera
80
SERVER_PROTOCOL Nazwa protokołu
HTTP/1.1
SERVER_SOFTWARE Lista oprogramowania serwera WWW
Apache/2.2.14 (Unix) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3.1 mod_perl/2.0.4 Perl/v5.10.1
TIME_YEAR Aktualny rok
2010
TIME_MON Aktualny miesiąc
05
TIME_DAY Aktualny dzień miesiąca
22
TIME_HOUR Aktualna godzina
14
TIME_MIN Minuty
54
TIME_SEC Sekundy
14
TIME_WDAY Numer dnia tygodnia
6 (sobota)
TIME Aktualny czas
20100522145446
THE_REQUEST Pełny nagłówek żądania HTTP wysyłany do serwera
GET /var_preview/THE_REQUEST HTTP/1.1
REQUEST_URI Pełny, względny adres żądania
/var_preview/REQUEST_URI
REQUEST_FILENAME Ścieżka żądania
/www/test/var_preview
IS_SUBREQ Sprawdza czy żadanie jest podzapytaniem (subrequest)
false
HTTPS Stan połączenia szyfrowanego
off





Proszę czekać...
Nie możesz komentować. Bartosz Stasiurka umieścił Cię na czarnej liście lub Twoje konto nie jest aktywne.