我一直在尝试使用 htaccess 中的 RewriteMap 指令进行简单映射,但由于某种原因我每次都会收到错误 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 文件,但任何帮助将不胜感激。
根据您的描述,您正在尝试定义一个RewriteMap
通过您的每个目录上下文.htaccess
文件,但这是不允许的。这RewriteMap http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritemap只能在每个服务器上下文中定义,无论是在主服务器配置中还是在虚拟服务器部分中。
当您向服务器发出请求时.htaccess
文件被解析,它遇到RewriteMap
指令并发出警报,这会导致抛出 500 错误。您可能会在您的error_log
指出“此处不允许 RewriteMap”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)