Warsztat utrwalający zagadnienia związane z mod_rewrite
oraz .htaccess
KLASA-Nazwisko
i prześlij prowadzącemu.Dla pełnej dokumentacji w języku angielskim zobacz
RewriteEngine
- włączenie silnika przepisywania adresu URLRewriteCond
- warunek do spełnienia, by reguła mogła zadziałać. Można stosować kilka, jedna po drugiej (działają jak: IF (A && B){})RewriteRule
- ostateczna reguła do wykonania! - negacja
-d - katalogi (directory)
-f - pliki (file)
$1 - pierwszy parametr
$2 - drugi parametr, itd
QSA
- Query String Append, czyli dodanie ciągu `query string` z oryginalnego adresu URL rządania do ciągu `query string` stworzonego w docelowej regule wyjścia
NC
- Non-case sensitive, czyli "nieczułe" na wielkości liter w adresie URL (zastosowanie np. dla kluczy, niedobre dla kodów i identyfikatorów)
R
- Redirect, czyli wymuszenie przekierowania, zgodnie z kodem HTTP, np. 301 lub 302
L
- Last rule, czyli ostatnia reguła do zastosowania po spełnieniu powyższych warunków
Składnia wywołania dyrektywy (zmiennej): %{DYREKTYWA}
jest odpowiednikiem w PHP: $zmienna
Na czerwono zaznaczono popularniejsze (częściej używane) dyrektywy.
HTTP headers: | connection & request: | |
---|---|---|
HTTP_ACCEPT HTTP_COOKIE HTTP_FORWARDED HTTP_HOST HTTP_PROXY_CONNECTION HTTP_REFERER HTTP_USER_AGENT |
AUTH_TYPE CONN_REMOTE_ADDR CONTEXT_PREFIX CONTEXT_DOCUMENT_ROOT IPV6 PATH_INFO QUERY_STRING REMOTE_ADDR REMOTE_HOST REMOTE_IDENT REMOTE_PORT REMOTE_USER REQUEST_METHOD SCRIPT_FILENAME |
|
server internals: | date and time: | specials: |
DOCUMENT_ROOT SCRIPT_GROUP SCRIPT_USER SERVER_ADDR SERVER_ADMIN SERVER_NAME SERVER_PORT SERVER_PROTOCOL SERVER_SOFTWARE |
TIME_YEAR TIME_MON TIME_DAY TIME_HOUR TIME_MIN TIME_SEC TIME_WDAY TIME |
API_VERSION CONN_REMOTE_ADDR HTTPS IS_SUBREQ REMOTE_ADDR REQUEST_FILENAME REQUEST_SCHEME REQUEST_URI THE_REQUEST |