继续在这里进行另一次讨论:
我被要求开始另一个问题 .
我把它添加到我的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
部分,并尝试将整个事物作为文件名读取 . 我真的不做错了 .
UPDATE
我尝试简化这个,只使用 Map 的直文文件:
RewriteMap hrci txt:/home/username/rewrite.txt
根目录中有一个文本文件,其中包含以下内容:
232秋天的支柱LASO
最后,我有我的重写规则:
RewriteRule ^ ch([0-9] {1,4})(/)?$ http://reachchallenges.infectionist.com/challenge/ $ 1 / $ {hrci:$ 1} [R = 301,L]
所以访问路径 ch232
应该重定向到 /challenge/232/The+Pillar+of+Autumn+LASO
,但它只是重定向到 /challenge/232/
,没有 Headers . 我到底做错了什么?!?
1 回答
我发现RewriteMap中的dbd部分无法工作(至少对我而言)的原因是它应该只能从apache 2.3开始工作 . 对于我的apache2.2,它不起作用 .