从isapi_rewrite(win)转到mod_rewrite(linux)问题

时间:2011-02-15 17:17:17

标签: apache mod-rewrite isapi-rewrite

我一直在Windows上使用isapi_rewrite,但我想转移到linux / apache并且在转换现有规则时遇到了问题。我在以下网址重写之后:

访客/提供的示例网址: * .PHP /参数1 /值1 /参数2 /值/ 2 /参数3 /值3 / paramx / valuex

符合: whatever.php VALUE1 =参数1&安培; param2的=值2&安培;参数3 =值3&安培; paramx = valuex

我以前在isapi_rewrite中使用此规则:

RewriteEngine on
RewriteRule ^(.*?\.php)/([^/]*)/([^/]*)(/.+)? $1$4?$2=$3 [NC,LP,QSA]

但LP(循环)不是一个apache mod_rewrite标志,我无法弄清楚如何用mod_rewrite中的合适的规则替换这个规则。

主要的是params / values的数量是未知的,所以它需要用/替换所有?,&和=。我很欣赏我可以通过删除params和文件名来使模式更清晰,但我真正想做的是将应用程序转移到linux并在更改应用程序引用链接之前工作。

谢天谢地......

1 个答案:

答案 0 :(得分:1)

您可以使用标记'next | N'来循环重写过程。请参阅the mod_rewrite docs at apache.org