Почему URLRewriter.NET не получает значения строки запроса?

Я только начал использовать URLRewriter.net в своем блоге, и у меня проблема с получением значений строки запроса. У меня есть настройка правил, как:

<rewrite url="~/blog.aspx(\?.+)?$"
    to="~/hiddenFolder/blog.aspx?mode=default&amp;$2"/>

Но когда я пытаюсь получить доступ к /blog.aspx?page=1, параметр страницы не передается. Другие параметры работают отлично, и в правилах переписывания нет конфликтов.

1 ответ

Решение

Я думаю, что проблема в том, что $2 находится вне диапазона, поскольку у вас есть только одна группа в вашем RegEx. Попробуйте 1 доллар.

РЕДАКТИРОВАТЬ

Кроме того, возможно, что строка запроса добавляется с другим символом "?" так что вам нужно убрать это из скобок.

Вам также понадобится дополнительная группа, чтобы правило совпадало с нашим без '?'. Примечание: мы вернулись к 2 долларам в результате сейчас:)

<rewrite url="~/blog.aspx(\?(.+)?)?$"
    to="~/hiddenFolder/blog.aspx?mode=default&amp;$2"/>
Другие вопросы по тегам