Можно отформатировать объем разработки, чтобы быть HFS чувствительный к регистру, который вызовет поведение, которого Вы желаете. Оборотная сторона этого является некоторыми плохо записанными приложениями OS X, не будет работать, потому что разработчики сделали ту же ошибку, которую Вы имеете и неправильные капитализированные пути.
Я получил его работающий со следующим:
#!/usr/bin/perl
#
## disable buffered I/O which would lead
## to deadloops for the Apache server
$| = 1;
#
## read URLs one per line from stdin
while (<>) {
my $line = $_;
if ($line eq "input_from_apache\n"){
print "my_desired_output\n";
}
else{
print "\n";
}
}
Как лучше всего я могу сказать, символы новой строки - то, что я пропускал. Для любого пытающегося отлаживать сценарий RewriteMap я предлагаю:
Удостоверьтесь, что Вы имеете:
RewriteEngine On
RewriteLog /var/log/httpd/rewrite.log
RewriteLogLevel 9
в Вашем httpd.conf, таким образом, Вы видите то, что делает mod_rewrite
Запишите свой сценарий и затем запустите его (т.е. ./my_script.pl
) и введите в некоторых исходных данных, чтобы удостовериться, что Вы получаете то, что Вы ожидаете. Это - то, как я понял, что мне было нужно \n
Вы попытались иметь свой возврат сценария Perl правильный формат? Это ожидает пару ключ/значение, т.е.:
someval someothersite.com
Это может исправить Ваши проблемы. В противном случае можно попытаться использовать txt файл для моделирования то, что сценарий Perl возвращает, чтобы проверить что RewriteMap
работает вообще.