RewriteMap无法在mod-rewrite中工作

Was*_*sim 4 .htaccess mod-rewrite rewritemap

我一直试图在我的htaccess中使用RewriteMap指令进行简单的maping,但由于某种原因我每次都会收到错误500.我的语法是.. Options + FollowSymLinks

RewriteEngine on
RewriteBase /
RewriteMap name2id txt:nklist.txt
RewriteRule ^/name/(.*) /name_list_view.php?kid=${name2id:$1|NOTFOUND}
Run Code Online (Sandbox Code Playgroud)

在nklist.txt中:

1 David
2 Mark
3 Simon
Run Code Online (Sandbox Code Playgroud)

nklist.txt文件位于我的网站的根目录,与htaccess相同.至于我的调试告诉我htaccess无法找到nklist.txt文件,但任何帮助都会感激不尽.

Tim*_*one 8

根据您的描述,您尝试RewriteMap通过.htaccess文件在每个目录上下文中定义一个,但这是不允许的.在RewriteMap只能在每服务器的上下文来定义,或者在主服务器配置中或在虚拟服务器部分.

当您向服务器发出请求并.htaccess解析文件时,它会遇到该RewriteMap指令并发出警报,从而导致抛出500错误.您可能会在其中看到一条条目error_log"此处不允许重写地图".