Apache mod_proxy_html Заменитель: как повторно использовать часть соответствия регулярному выражению? (регулярные выражения?) - PullRequest
1 голос
/ 17 февраля 2011

[Полное раскрытие: кросс-пост между здесь и ServerFault, потому что я считаю, что аудитории (администраторы сервера и разработчики) достаточно различны, чтобы оправдать задавание вопроса обоим по отдельности.]

Привет всем,

У вас есть уникальная ситуация переписывания URL в Apache.

Мне нужно иметь возможность взять URL, начинающийся с

"\u002f[X]"

или

'\u002f[X]"

Где X - это оставшаяся часть URL-адреса, и заменить текст

"\u002fmeis2\u002f[X]

Я не уверен, как Regex работает в Apache - я думаю, что он такой же, как Perl 5?- но даже тогда я немного не уверен, как это будет сделано.Я догадываюсь, что это связано с группировкой Regex, а затем использованием $ 1 для извлечения переменной, но я совершенно незнаком с этим процессом в Apache.

Надеюсь, кто-то может помочь - спасибо!

1 Ответ

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

Вы правы. Сгруппируйте текст, который вы хотите повторно использовать с паренами, и используйте $1 в подстановке. Используйте следующий файл .htaccess:

RewriteEngine On
RewriteRule ^\u002f(.*) /\u002fmeis2\u002f$1

(Я не уверен, что mod_rewrite обрабатывает экранирование Юникода, но, похоже, это так из вашего вопроса.)

...