mod-rewrite
Dyrektywy dostarczone przez mod-rewrite w Apache 2.4
Szukaj…
Składnia
- RewriteBase ścieżka-URL
- RewriteCond TestString CondPattern
- RewriteEngine on | off
- RewriteMap MapName MapType: MapSource
- Opcje RewriteOptions
- Zmiana wzoru RewriteRule [flagi]
Lista dyrektyw dostępnych w Apache 2.4
Apache 2.4 udostępnia następujące 6 dyrektyw poprzez moduł mod_rewrite
:
- RewriteBase
- RewriteCond
- RewriteEngine
- RewriteMap
- RewriteOptions
- RewriteRule
Usunięto następujące dyrektywy, dostępne wcześniej w Apache 2.2:
- RewriteLock
- RewriteLog
- RewriteLogLevel
Wszystkie dyrektywy (z wyjątkiem RewriteMap
) zdefiniowane przez mod_rewrite
mogą mieć możliwość zastępowania w katalogu .htaccess
za pośrednictwem AllowOverride FileInfo
.
Dyrektywa | Kontekst | Opis |
---|---|---|
RewriteBase | katalog, .htaccess | Ustawia podstawowy adres URL dla każdego przepisywania katalogu |
RewriteCond | Wszędzie | Określa warunki, w których nastąpi operacja przepisywania |
RewriteEngine | Wszędzie | Ustawia status silnika przepisywania |
RewriteMap | konfiguracja serwera, wirtualny host | Definiuje funkcję wyszukiwania klucza |
RewriteOptions | Wszędzie | Ustawia specjalne opcje dla silnika przepisywania |
RewriteRule | Wszędzie | Definiuje szczegółowe zasady przepisywania silnika |
Kontekst Everwhere
oznacza, że dyrektywę można zdefiniować w jednym z czterech następujących miejsc:
- konfiguracja serwera
- konfiguracja wirtualnego hosta
- kontekst katalogu
- plik .htaccess
Dyrektywy RewriteLog
i RewriteLogLevel
zostały połączone z globalną dyrektywą LogLevel
i będą używane jako:
LogLevel rewrite:<level>
gdzie <level>
to wartość od trace8
(najmniej znacząca) do emerg
(najbardziej znacząca). Ta lista jest dostępna tutaj .
RewriteBase i RewriteEngine
Dyrektywa | Domyślna | Kontekst | Opis |
---|---|---|---|
RewriteBase | Żaden | Katalog, .htaccess | Ustawia podstawowy adres URL dla każdego przepisywania katalogu |
RewriteEngine | poza | wszędzie | Włącz lub wyłącz silnik przepisywania środowiska wykonawczego |
RewriteBase
Dyrektywa określa prefiks adresu URL, który ma być używany do podstawiania ścieżek względnych.
RewriteEngine
Dyrektywa, jeśli jest ustawiona na off
, nie wykona przetwarzania przepisywania środowiska wykonawczego. Reguły te nie są dziedziczone przez hosty wirtualne (z konfiguracji serwera) i należy je zdefiniować indywidualnie.
RewriteMap
Dyrektywa definiuje funkcję, która będzie wyszukiwać klucz na zdefiniowanej mapie i zamienia wyszukiwanie na jego zastąpienie z mapy.
Funkcja mapowania jest zdefiniowana w RewriteMap
dyrektywie RewriteMap
w następujący sposób:
RewriteMap MAPNAME Type:Source
i można się do nich odwoływać w dowolnej z dyrektyw RewriteCond
lub RewriteRule
aby działać jak przewodnik po substytucji w następujący sposób:
${ MAPNAME : KEY | DEFAULT }
Poniżej podano poprawne wartości parametru Type
w definicji mapy:
-
int
- pozwala tylko natoupper
,tolower
,escape
iunescape
-
txt
- przeszukuje plik tekstowy -
dbd
- wyszukuje w bazie danych za pomocą instrukcji SQLSELECT
-
rnd
- losowe wyszukiwania z pliku tekstowego -
dbm
- podobny dotxt
, z tym wyjątkiem, żehttxt2dbm
musi przekonwertować dane na skróty -
fastdbd
- wyszukuje w bazie danych za pomocą instrukcji SQLSELECT
z buforowaniem