Проблемы с RewriteMap MapType dbd - PullRequest
       65

Проблемы с RewriteMap MapType dbd

0 голосов
/ 07 сентября 2011

Продолжая еще одно обсуждение здесь:

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/, без названия. Какого черта я делаю не так?!?

1 Ответ

1 голос
/ 19 февраля 2012

Я обнаружил, что причина, по которой часть dbd в RewriteMap не работает (по крайней мере, для меня), заключается в том, что она должна работать только из apache 2.3+.Для моего apache2.2 это не работает.

...