URLRewriter.net с несколькими строками запроса, разделенными символом /

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

Что я хочу, это URL-адрес, как это:

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

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

www.example.com/Projects.aspx?Region=querystring1&Zip=querystring2

То, что я пытался это следующее:

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

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

1 ответ

Решение

Мне нужно было бы увидеть остальные ваши правила перезаписи, чтобы быть уверенным, но если у вас есть несколько переписываний (т.е. для обработки ситуаций, когда пользователи указывают только одну из двух строк запроса), пренебрегая добавлением 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 Строка запроса. Это может быть конфликт, с которым вы сталкиваетесь.

Другие вопросы по тегам