Поиск…


Синтаксис

  • URL-адрес RewriteBase
  • RewriteCond TestString CondPattern
  • RewriteEngine on | off
  • RewriteMap MapName MapType: MapSource
  • Параметры RewriteOptions
  • Замена шаблона RewriteRule [flags]

Список директив, доступных в Apache 2.4

Apache 2.4 предоставляет следующие 6 директив через модуль mod_rewrite :

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

Следующие директивы, доступные ранее в Apache 2.2, были удалены:

  1. RewriteLock
  2. RewriteLog
  3. RewriteLogLevel

Все директивы (за исключением RewriteMap ), определенные mod_rewrite могут быть разрешены для переопределения для каждого каталога .htaccess через AllowOverride FileInfo .

директива контекст Описание
RewriteBase каталог, .htaccess Устанавливает базовый URL для каждой перезаписи каталога
RewriteCond Везде Определяет условия, при которых произойдет переписывание
RewriteEngine Везде Устанавливает статус механизма перезаписи
RewriteMap конфигурация сервера, виртуальный хост Определяет функцию поиска ключа
RewriteOptions Везде Устанавливает специальные опции для перезаписи двигателя
RewriteRule Везде Определяет конкретные правила для механизма перезаписи

Контекст Everwhere означает, что директива может быть определена в любом из следующих четырех местоположений:

  1. Конфигурация сервера
  2. конфигурация виртуального хоста
  3. контекст каталога
  4. .htaccess файл

RewriteLog и RewriteLogLevel объединены с глобальной директивой LogLevel и будут использоваться как:

LogLevel rewrite:<level>

где <level> - значение от trace8 (наименее значимое) до emerg (наиболее значимое). Этот список доступен здесь .

RewriteBase и RewriteEngine

директива По умолчанию контекст Описание
RewriteBase Никто Каталог, .htaccess Устанавливает базовый URL для каждой перезаписи каталога
RewriteEngine от везде Включить или отключить механизм перезаписи времени выполнения

RewriteBase

В директиве указан префикс URL, который будет использоваться для замены относительных путей.

RewriteEngine

Директива, если она off , не выполняет обработку перезаписи времени выполнения. Эти правила не наследуются виртуальными хостами (из конфигурации сервера) и должны определяться индивидуально.

RewriteMap

Директива определяет функцию, которая будет искать ключ в определенной карте и заменяет поиск с его заменой с карты.

Функция отображения определяется с помощью RewriteMap директивы RewriteMap следующим образом:

RewriteMap MAPNAME Type:Source

и на них можно ссылаться в любой из директив RewriteCond или RewriteRule чтобы действовать как руководство по замене следующим образом:

${ MAPNAME : KEY | DEFAULT }

Ниже приведены допустимые значения для Type в определении карты:

  1. int - позволяет получать только toupper , tolower , escape и unescape
  2. txt - поиск текстового файла
  3. dbd - просматривает базу данных, используя SELECT SQL SELECT
  4. rnd - случайный поиск из текстового файла
  5. dbm - аналогично txt , за исключением того, что httxt2dbm необходимо преобразовать данные в хэши
  6. fastdbd - ищет в базе данных SELECT SQL SELECT с кешированием


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow