Hi, All!Может кто поможет с такой проблемой.
Я решил использовать директиву RewriteMap из модуля rewrite_map (пробую под Винду). Сделал это так:Задал саму карту в настройках апача (access.conf):
RewriteMap test-map prg:"E:/rew.pl"И в файле .htaccess, лежащей с html файлами записал:
RewriteEngine on
RewriteCond %{THE_REQUEST} ^GET.*$
RewriteRule ^(test\.html)$ ${test-map:$1}И создал файл "E:/rew.pl":
#!t:/perl/bin/perl - перл у меня там. :)
$| = 1;
while (<> ) {
print "exit.html\n";
}Вроде все по хелпам, НО тут что-то не то. До программы rew.pl дело никак не доходит (я в ней пробовал файл создавать). Может кто знает в чем дело?
В логах млдуля mod_rewrite появляется надпись:
(5) map lookup FAILED: map=test-map key=$1
Но почему-то ни переменная $1 не подставляется, ни карта не работает. Подскажите в чем грабли.Спасибо за внимание!
А слабо Файл rew.pl положить поближе к document root и посмотреть на предмет прав к нему?
>А слабо Файл rew.pl положить поближе к document root и посмотреть на
>предмет прав к нему?Этот файл уже везде лежал... - не помогло. :) А права - я под виндой. ;) Может руки у меня кривые!? - Раскажи, если получилось у тебя.
Извини, нет ни времени ни желания пробовать твой пример у себяПосмотри подробный лог:
RewriteLog logs/rewrite.log
RewriteLogLevel 9(с этого надо было начинать)
версия апача?
>Извини, нет ни времени ни желания пробовать твой пример у себя
Спасибо за уделенное внимание. Если вдруг у Вас есть работаюсчий пример, киньте плиз его в меня. mailto:alex_my@tut.by.>Посмотри подробный лог:
>RewriteLog logs/rewrite.log
>RewriteLogLevel 9
Вот весь лог.
---------------------------------8<-------------------------------------
(3) strip per-dir prefix: e:/usr/bug/www/3.com/test.html -> test.html
(3) applying pattern '^(test\.html)$' to uri 'test.html'
(4) RewriteCond: input='GET /test.html HTTP/1.1' pattern='^GET.*$' => matched
(5) map lookup FAILED: map=test-map key=$1 ??? Вот тут и трабл. :/
(2) rewrite test.html ->
(3) [per-dir e:/usr/bug/www/3.com/] add per-dir prefix: -> e:/usr/bug/www/3.com/
(3) [per-dir e:/usr/bug/www/3.com/] add per-dir prefix: e:/usr/bug/www/3.com/ -> e:/usr/bug/www/3.com/e:/usr/bug/www/3.com/
--------------------------------->8------------------------------------->версия апача?
apache_1.3.22-win32-x86