У меня возникла проблема с написанием шаблона регулярных выражений для URL-адреса перезаписи в IIS 7. Я выполняю работу непосредственно в файле web.config, и шаблон, в котором мне нужна помощь, описан ниже:URL Rewrite Несколько паролей
URL, входящие такие как следующие: http://www.domain.com/user/<USERNAME>/subscribers
должно быть переписано в файл: http://www.domain.com/subscribers.php?u={R:1}
Где {R:1}
имеет такое же значение, как это было бы в файле web.config, и должен быть равен <USERNAME>
значения, переданного в URL.
Я искал несколько часов сегодня и еще несколько вчера, но не нашел совета по этому поводу. Я не очень хорошо знаком с Regex, но многому научился, чтобы попытаться решить эту проблему, но безрезультатно.
Заранее благодарен!
Обновление
- Значение
<USERNAME>
может содержать любые буквенно-цифровые символы (0-9, A-Z, и A-Z), а также символы подчеркивания и точки. - Я пробовал множество различных моделей с модулем перезаписи. Один я начал это:
^user/(.+)/subscribers$
Полный блок XML для этого переписывания заключается в следующем:
<rule name="User Subscribers">
<match url="^user/(.+)/subscribers$" />
<action type="Rewrite" url="subscribers.php?u={R:1}" />
</rule>
Этот формат работает для остальных перезаписей, однако, как только я стараюсь придерживаться статического , текст без регулярного выражения после шаблона регулярного выражения, я не могу заставить его работать. Проблема сводится к следующему: значение <USERNAME>
устанавливается на значение, которое я хочу, с добавленной до конца частью перезаписи .
Можете ли вы определить ''? (количество символов, какие символы ...). Вы уже пробовали что-либо с модулем перезаписи? –
cheesemacfly
@cheesemacfly Я обновлю свой вопрос с дополнительной информацией об этом. Спасибо за предложение! –
Прочитав последнее редактирование, я думаю, вы должны использовать что-то вроде '^ user /(.+)(/ подписчиков) $', таким образом, '/ подписчики' будут частью обратной ссылки« R: 2 »вместо того, чтобы быть в конце 'R: 1' (у меня нет доступа к IIS прямо сейчас и не могу проверить ...) – cheesemacfly