Мы используем HTTPD-сервер Apache версии 2.2. Я безуспешно пытаюсь использовать RedirectMatch для Apache 2.2 mod_alias ( http://httpd.apache.org/docs/2.2/mod/mod_alias.html#redirectmatch)
Мне нужно создать правило, которое будет перенаправлять только URL-адреса без параметров change_url=1
например
https://<IP>/servlet1?id=1&type=2&change_url=1
Я пробовал использовать следующее правило:
RedirectMatch (.*)change_url=1(.*) /keepurlprocess/$1
К сожалению, он не работает с обязательным URL только тогда, когда change_url
в URL:
https://<IP>/change_url=1
Что не так в моем регулярном выражении? Как его применить к параметрам запроса? Кроме того, у меня есть конкретный параметр type
. Для некоторых типов перенаправление не требуется:
https://<IP>/servlet1?id=1&type=do_not_redirect&change_url=1
Можно ли создать правило, как показано ниже?
RedirectMatch (.*)(change_url=1 AND NOT type=do_not_redirect)(.*) /keepurlprocess/$1
Взгляните сюда. Вы должны иметь возможность удалить перенаправление в инструкции IF