Переход от проблемы isapi_rewrite (win) к mod_rewrite (linux) - PullRequest
0 голосов
/ 15 февраля 2011

Я использую isapi_rewrite в Windows, но хочу перейти на linux / apache и столкнулся с проблемой при преобразовании моего существующего правила. Я после следующего URL переписать:

Посетитель / предоставленный образец URL: * .Php / param1 / значение1 / param2 / значение / 2 / param3 / значение3 / paramx / valuex

Подходит для: whatever.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 и работать до внесения изменений в ссылки приложения.

Спасибо, надеюсь ...

1 Ответ

1 голос
/ 15 февраля 2011

Вы можете использовать флаг 'next | N', чтобы зациклить процесс перезаписи. См. документацию по mod_rewrite на apache.org .

...