Почему URLRewriter.NET не получает значения строки запроса?
Я только начал использовать URLRewriter.net в своем блоге, и у меня проблема с получением значений строки запроса. У меня есть настройка правил, как:
<rewrite url="~/blog.aspx(\?.+)?$"
to="~/hiddenFolder/blog.aspx?mode=default&$2"/>
Но когда я пытаюсь получить доступ к /blog.aspx?page=1, параметр страницы не передается. Другие параметры работают отлично, и в правилах переписывания нет конфликтов.
1 ответ
Решение
Я думаю, что проблема в том, что $2 находится вне диапазона, поскольку у вас есть только одна группа в вашем RegEx. Попробуйте 1 доллар.
РЕДАКТИРОВАТЬ
Кроме того, возможно, что строка запроса добавляется с другим символом "?" так что вам нужно убрать это из скобок.
Вам также понадобится дополнительная группа, чтобы правило совпадало с нашим без '?'. Примечание: мы вернулись к 2 долларам в результате сейчас:)
<rewrite url="~/blog.aspx(\?(.+)?)?$"
to="~/hiddenFolder/blog.aspx?mode=default&$2"/>