Продолжая еще одно обсуждение здесь:
MySQL + htaccess mod_rewrite?
Где меня попросили начать еще один вопрос.
Я добавил это в мой файл 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
Я попытался упростить это и просто использовать текстовый файл для карты:
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/
, без названия. Какого черта я делаю не так?!?