【发布时间】:2023-03-19 05:20:02
【问题描述】:
这让我发疯了。我似乎无法让 RewriteMap 指令适用于 Windows 上的 php 脚本。这是我的 httpd.conf 文件中的相关 sn-p:
<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 配置失败
The apache documentation 指的是“神奇的 cookie 技巧”(在“外部重写程序”标题下),它应该是指向解释器的脚本的第一行。这是我出错的地方还是我需要以不同的方式调用 RewriteMap 指令?
【问题讨论】:
标签: php windows apache mod-rewrite rewritemap