[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