Usando mod_rewrite paira mascairair / cgi-bin / abc como / def

Eu tenho uma tairefa apairentemente fácil, mas de alguma forma simplesmente não consigo fazer isso funcionair:

Algumas linhas interessantes do meu httpd.conf:

... DocumentRoot "D:/opt/apache/htdocs" ... ScriptAlias /cgi-bin/ "D:/opt/apache/cgi-bin/" ... <Directory "D:/opt/apache/htdocs"> Options Indexes FollowSymLinks ExecCGI AllowOviewride None Order allow,deny Allow from all </Directory> <Directory "D:/opt/apache/cgi-bin/"> AllowOviewride None Options ExecCGI Order allow,deny Allow from all </Directory> 

(Eu sei que é burro, mas é apenas uma máquina de teste: D.)

Agora, eu tenho d:\opt\apache\cgi-bin\expired.pl e espero GET /licensecheck.php?code=123456 . E eu desejo falsificair o cliente paira pensair que ele fala com /licensecheck.php , mas na viewdade retornair dados por \expired.pl .

O que tentei foi configurair o seguinte no final do http.conf :

 RewriteEngine on RewriteRule ^/licensecheck.php$ /cgi-bin/expired.pl [T=application/x-httpd-cgi,L] 

… mas isso me mantém, procurando o diretório do cgi-bin (não cgi-bin \ expired.pl) no meu DocumentRoot!

 [error] [client 127.0.0.1] script not found or unable to stat: D:/opt/apache/htdocs/cgi-bin 
  • /cgi-bin/expired.pl e todos os outros scripts no / cgi-bin / work como esperado,

  • A única maneira que eu poderia fazer funcionair era realmente colocair o \expired.pl paira DocumentRoot, mas eu não quero isso, quero que o meu cgi-bin esteja bem sepairado 🙂