Как сопоставить шаблон, но исключить из результата - PullRequest
0 голосов
/ 06 сентября 2011

С помощью модуля перезаписи URL IIS я пытаюсь переписать входящий URL-адрес с / en / page.aspx на / en / page / index.aspx

Используя регулярное выражение, я проверяю, что строка заканчивается на .aspx

^.*(.aspx)$

В настоящее время в группе захвата я получаю

/en/page.aspx

Как я могу только захватить / ru / page part?

Далее я перепишу URL следующим образом:

{R:0}/index.aspx

Ответы [ 2 ]

2 голосов
/ 06 сентября 2011

Для сопоставления без захвата вы можете использовать шаблон ?:, например (?:\.aspx).Однако для удовлетворения ваших потребностей в перенаправлении вы можете использовать следующее выражение:

^(.*)(\.aspx)$

, чтобы {R:1} указывало именно на то, что вам нужно.Также обратите внимание, что вам нужно экранировать точку, чтобы выражение совпадало с символом точки, а не с любым другим.

1 голос
/ 06 сентября 2011

Изменить способ захвата совпадений ...

^(.*?)(\.aspx)$

При просмотре коллекции совпадений совпадения должны быть следующими:

индекс 0 должен быть целым URL

индекс 1 должен быть / en / page

индекс 2 должен быть .aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...