这似乎是一个非常简单的问题。
我试图把.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,虚拟主机的范围(上下文:信息框中)。 放置在目录指令之外,它将工作。