我一直在 Windows 上使用 isapi_rewrite,但我想转移到 linux/apache 并在转换我现有的规则时遇到了问题。我在以下网址重写之后:
访客/提供的示例网址:*.php/param1/value1/param2/value/2/param3/value3/paramx/valuex
匹配到:whatever.php?value1=param1¶m2=value2¶m3=value3¶mx=valuex
我以前在 isapi_rewrite 中使用过这个规则:
RewriteEngine on
RewriteRule ^(.*?\.php)/([^/]*)/([^/]*)(/.+)? $1$4?$2=$3 [NC,LP,QSA]
但是 LP (Loop) 不是 apache mod_rewrite 标志,我无法弄清楚如何用 mod_rewrite 中的合适规则替换此规则。
最主要的是参数/值的数量是未知的,所以它需要用 / 替换所有的?、& 和 =。我很感激我可以通过删除参数和文件名使模式更清晰,但我真正想做的是将应用程序转移到 linux 并在更改应用程序引用链接的方式之前工作。
谢谢希望...