继续这里的另一个讨论:
我被要求在哪里开始另一个问题。
我将此添加到我的 httpd.conf 文件中:
DBDriver mysql
DBDParams "host=*****,user=*****,pass=*****,dbname=*****"
RewriteEngine On
RewriteMap hrci "dbd:SELECT title FROM challenges WHERE id = %s"
当我尝试重新启动 Apache 时,出现此错误:
RewriteMap: file for map hrci not found:/dh/apache2/apache2-ps54462/dbd:SELECT title FROM challenges WHERE id = %s
看起来它完全忽略了该dbd
部分并试图将整个内容作为文件名读取。我真的不知道我做错了什么。
更新
我尝试简化这一点,并为地图使用纯文本文件:
RewriteMap hrci txt:/home/username/rewrite.txt
根目录中有一个文本文件,其中仅包含以下内容:
232 The+Pillar+of+秋天+LASO
最后,我有我的重写规则:
RewriteRule ^ch([0-9]{1,4})(/)?$ http://reachchallenge.infectionist.com/challenge/ $1/${hrci:$1} [R=301,L]
所以访问路径ch232
应该重定向到/challenge/232/The+Pillar+of+Autumn+LASO
,但它只是重定向到/challenge/232/
,没有标题。我到底做错了什么?!?