小编Ska*_*ags的帖子

Apache mod_rewrite:在Windows机器上使用PHP脚本的RewriteMap指令

这让我疯了.我似乎无法让RewriteMap指令适用于Windows上的php脚本.以下是我的httpd.conf文件中的相关代码段:

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

我的简单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";
}
?>
Run Code Online (Sandbox Code Playgroud)

当我尝试启动Apache时,我在错误日志中获得以下行:

[错误](OS 193)%1不是有效的Win32应用程序.:mod_rewrite:无法启动RewriteMap程序C:/dev/web/www/routing.php配置失败

apache文档引用了"魔术cookie技巧"(在"外部重写程序"标题下),它应该是应该指向解释器的脚本的第一行.这是我出错的地方还是需要以不同的方式调用RewriteMap指令?

php windows apache mod-rewrite rewritemap

6
推荐指数
1
解决办法
3775
查看次数

标签 统计

apache ×1

mod-rewrite ×1

php ×1

rewritemap ×1

windows ×1