RewriteMap无法在mod-rewrite中工作

时间:2010-07-22 05:43:32

标签: .htaccess mod-rewrite rewritemap

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

RewriteEngine on
RewriteBase /
RewriteMap name2id txt:nklist.txt
RewriteRule ^/name/(.*) /name_list_view.php?kid=${name2id:$1|NOTFOUND}
nklist.txt中的

1 David
2 Mark
3 Simon

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

1 个答案:

答案 0 :(得分:8)

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

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