Apache mod_rewrite: Директива RewriteMap при использовании PHP-скрипта на машине Windows

Это сводит меня с ума. Я не могу заставить директиву RewriteMap работать для php скрипта на windows. Вот соответствующий фрагмент из моего файла httpd.conf:

<IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteMap router "prg:C:/dev/web/www/routing.php"
        RewriteRule (.*) ${router:$1}
</IfModule>

Мой простой php скрипт выглядит так:

#!C:\Program Files\PHP5.3.2\php-win.exe
<?php

set_time_limit(0); # forever program!
$keyboard = fopen("php://stdin","r");
while (1) {
        $line = trim(fgets($keyboard));
        echo "/sandbox.php?url=$line";
        echo "\n";
}
?>

Когда я пытаюсь запустить Apache, я получаю следующую строку в журнале ошибок:

[ошибка] (OS 193)%1 не является действительным Win32 приложение. : mod_rewrite: не удалось запустить программу RewriteMap C:/dev/web/www/routing.php Configuration Failed

В документации apache говорится о "волшебном трюке с печеньем" (под заголовком "Внешняя программа переписывания"), который должен быть первой строкой скрипта, указывающей на интерпретатор. Здесь я ошибаюсь или мне нужно по-другому вызвать директиву RewriteMap?

6
задан Skags 18 August 2010 в 20:01
поделиться