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 :

  1. RewriteBase
  2. RewriteCond
  3. RewriteEngine
  4. RewriteMap
  5. RewriteOptions
  6. RewriteRule

Usunięto następujące dyrektywy, dostępne wcześniej w Apache 2.2:

  1. RewriteLock
  2. RewriteLog
  3. 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:

  1. konfiguracja serwera
  2. konfiguracja wirtualnego hosta
  3. kontekst katalogu
  4. 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:

  1. int - pozwala tylko na toupper , tolower , escape i unescape
  2. txt - przeszukuje plik tekstowy
  3. dbd - wyszukuje w bazie danych za pomocą instrukcji SQL SELECT
  4. rnd - losowe wyszukiwania z pliku tekstowego
  5. dbm - podobny do txt , z tym wyjątkiem, że httxt2dbm musi przekonwertować dane na skróty
  6. fastdbd - wyszukuje w bazie danych za pomocą instrukcji SQL SELECT z buforowaniem


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow