Я перехожу с IIS на Apache (на Windows) и пытаюсь адаптировать правило перезаписи (используя Helicon ISAPI_Rewrite 3 в IIS).
Правило отображает то, что выглядит как каталог путь к структуре обратно в набор параметров строки запроса. В пути может быть любое количество параметров.
Например
/ корзина / param1 / value1 / param2 / value2 / param3 / value3 ... и так далее ...
Становится ...
/ корзина? Param1 = value1¶m2 = value2¶m3 = value3 ... и так далее ...
Правило в ISAPI_Rewrite:
# This rule simply reverts parameters that appear as folders back to standard parameters
# e.g. /search-results/search-value/red/results/10 becomes /search-results?search-value=red&results=10
RewriteRule ^/(.*?)/([^/]*)/([^/]*)(/.+)? /$1$4?$2=$3 [NC,LP,QSA]
Сначала я заметил, что Apache не имеет флага LP, поэтому заменил его на N = 10 в качестве теста на зацикливание ...
RewriteRule ^(.*?)/([^/]*)/([^/]*)(/.+)? $1$4?$2=$3 [NC,N=10,QSA]
Однако Apache журналы ошибок показывают, что одни и те же параметры добавляются снова и снова, пока не будет достигнуто количество циклов на флаге N, заканчивающееся ошибкой HTTP 500.
Есть идеи, где я ошибаюсь?!?