Я использую isapi_rewrite для Windows, но хочу перейти к linux/apache и столкнулся с проблемой преобразования моего существующего правила. Я после следующего URL Rewrite:Перемещение из isapi_rewrite (win) в проблему mod_rewrite (linux)
посетителей/поставляется образец URL: * .php/param1/значение1/param2/значение/2/param3/value3/paramx/valuex
Подобранная к: независимо ? .php value1 = param1 & param2 = значение2 & param3 = value3 & paramx = valuex
Я был ранее с помощью этого правила в ISAPI_Rewrite:
RewriteEngine on
RewriteRule ^(.*?\.php)/([^/]*)/([^/]*)(/.+)? $1$4?$2=$3 [NC,LP,QSA]
Но LP (Loop) не является флагом apache mod_rewrite, и я не могу решить, как заменить это правило подходящим в mod_rewrite.
Главное, что количество параметров/значений неизвестно, поэтому необходимо заменить все?, & и = с/с. Я ценю, что смогу сделать шаблон более чистым, удалив параметры и имя файла, но то, что я действительно хочу сделать, - это переместить приложение в linux и работать, прежде чем вносить изменения в ссылки на ссылки на приложения.
Благодаря hopingly ...
Спасибо, я заметил этот флаг и подумал, что он похож на тот, который мне нужен: RewriteRule^(. *? \. Php)/([^ /] *)/([^ /] *) (/ . +)? $ 1 $ 4? $ 2 = $ 3 [NC, N, QSA] не работает для URL-адреса, например: articles.php/title/pipeline - they-come-running/id/3440 – AlanG