[Comm] Помогите сделать правило для mod_rewrite

Anatoly A. Ivanov =?iso-8859-1?q?anatol_=CE=C1_fxp=2Eru?=
Чт Дек 9 09:51:51 MSK 2004


Здравствуйте, community.

Продолжая тему про формировании кривых адресов, столкнулся с
проблемами :)

Задача:
Нужно из адреса следующего типа:  www/secret_code/file1
выдрать secret_code, передать в скрипт, проверить по БД, если
действительный,  то отадть клиенту правило, которое сделает внутрений редирект на

www2/trash/file1

если код плохой, шлем клиента на

www/403

при чем url в броузере или качалке должен быть выглядеть как в варианте 1


Делаю:

согласно документации (самый простой вариант) сделал правило:

RewriteEngine on
RewriteMap    d-map       prg:/map.pl
RewriteRule   ^/access/(.*)/(.*).txt$  /access/${d-map:$1}/$2.txt [PT]

Согласно логике, как понимаю я, при доступе к папке /access/xyz/file1.txt, клиент
должен перенаправиться в папку /access/d2/file1.txt

Для этого сделал скрипт, по аналогии с документацией:

#!/usr/bin/perl
while (<>) {
    print "d2\n";
}
~

НО
ничего такого у меня не происходит :(

При доступе к любой папке внутри access в которых лежат файлы 1.txt

Броузер выдает:
 /access//1.txt  Not Found

 При чем, если пытаюсь обратиться
 к
 /access/d1/1.txt
 в броузере мне приписывается конеченый слеш, в результате:
 The requested URL /access/d1/1.txt/ was not found on this server.



 Помогите заставить работать RewriteMap, чтоб я смог усложнить этот
 скриптик.

Спасибо.




Подробная информация о списке рассылки community