Назад | Перейти на главную страницу

Где разрешено использование RewriteMap?

Это кажется очень простым вопросом.

Я попытался поместить директиву RewriteMap в файл .htaccess, но журналы показали предупреждение:

RewriteMap not allowed here

Затем я попытался поместить его в объявление VirtualHost в файле apache2 / sites-available, но перезагрузка apache дает мне:

RewriteMap not allowed here
...fail!

В обоих случаях с включенным RewriteEngine.

Относится ли это к фактическому расположению карты в файловой системе или к директиве RewriteMap?

На всякий случай поможет:

<VirtualHost *:80>
  ServerName localhost
  etc...
  <Directory /var/www/site>
  AllowOverride all
  Options Indexes FollowSymLinks MultiViews
  Order allow,deny
  Allow from 127.0.0.1
  RewriteEngine On
  RewriteMap map txt:/var/www/site/map.txt
  RewriteRule /path/[^/]+/([^/]+) ${map:$1} 
  etc...

Согласно официальная документация это разрешено только в области (Контекст: в информационном поле) конфигурации сервера, виртуального хоста. Поместите это вне директива каталога и это будет работать.