URLRewriter.net с несколькими строками запроса, разделенными символом / - PullRequest
1 голос
/ 30 апреля 2010

Я немного осматривал сайт, но не нашел ответов о том, как сделать это так, как я хочу.

Мне нужен такой URL-адрес:

www.example.com / Projects / "querystring1 - только текст" / "querystring2 - только 4 цифры" /

чтобы показать страницу с этим URL:

www.example.com / Projects.aspx? Регион = querystring1 & Zip = querystring2

Я пытался сделать следующее:

<rewrite url="~/Leje-og-udlejning-arbejdskraft/(.+)/(.+)" to="~/Workers.aspx?Region=$1&amp;zip=$2"/>

Но он просто берет их обоих как один запрос и помещает их в строку запроса Region.

1 Ответ

4 голосов
/ 30 апреля 2010

Я бы хотел увидеть остальные ваши правила перезаписи, чтобы быть уверенным, но если у вас есть несколько переписываний (т.е. для обработки ситуаций, когда пользователи указывают только одну из двух строк запроса), пренебрегая добавлением processing="stop" в конце приведет к тому, что одно правило переопределит другое.

Например, я использую следующую настройку в моем файле web.config:

<rewriter>
    <rewrite url="~/(.+)/(.+)" to="~/Default.aspx?ref=$1&amp;page=$2" processing="stop"/>
    <rewrite url="~/(.+)" to="~/Default.aspx?ref=$1" processing="stop"/>
</rewriter>

Сначала будет проверено наличие 2 переменных запроса. Если они есть, он переписывает их соответствующим образом и прекращает обработку других правил . Это важная персона. Без processing="stop" в конце я передаю оба в виде строки запроса ref. Это может быть конфликт, с которым вы столкнулись.

...