RewriteMap允许在哪里?

这似乎是一个非常简单的问题。

我试图把.htaccess文件中的一个RewriteMap指令,但日志显示一个警告:

RewriteMap not allowed here 

然后我试着把它放在apache2 / sites-available文件的VirtualHost声明中,但是重新加载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... 

根据官方文档 ,它只允许在服务器configuration,虚拟主机的范围(上下文:信息框中)。 放置在目录指令之外,它将工作。