ASP.Net URL Rewriter - PullRequest
       4

ASP.Net URL Rewriter

1 голос
/ 21 октября 2010

Мы используем URLRewriter (http://urlrewriter.net), и хотели бы переписать запросы следующим образом:

domain.com / find / red-boots

для этого: domain.com/search.aspx? k = red + boots

Вот пример кода для входа в web.config (я немного незнаком с этим синтаксисом)

<if url="/tags/(.+)" rewrite="/tagcloud.aspx?tag=$1" />

Как мне написать эту строку в файле web.config, чтобы она переписывалась так, как нам нужно? Кроме того, если у вас есть хороший совет о том, как освежить синтаксис переписывающего устройства, это тоже было бы здорово.

1 Ответ

1 голос
/ 21 октября 2010

"Синтаксис переписывающего устройства", о котором вы спрашиваете, называется регулярными выражениями.Существует множество отличных инструментов, просто поищите в Google «помощь по регулярным выражениям».

Однако, если вы хотите использовать синтаксис, который имеет немного больше истории, вы можете получить более подробную помощь.Пожалуйста, ознакомьтесь с Managed Fusion Url Rewriter , который использует синтаксис Apache mod_rewrite, который был стандартом на протяжении многих лет, чем я могу предположить.Вот как бы вы завершили свой вопрос в синтаксисе mod_rewrite:

RewriteRule ^/find/(.*)       /search.aspx?k=$1      [NC,L]

Первая часть после RewriteRule - это ввод, который пытается сопоставиться с URL-адресом, запрошенным браузером.Вторая часть - это преобразование, которое происходит против сопоставленного правила.Преобразование превращает его в то, что ваше приложение может понять.Последняя часть в скобках - это управляющие теги, в этом случае я говорю RewriteRule не беспокоиться о регистре символов, который обозначен NC, и что в случае совпадения он должен воспринимать это как последнее обработанное правило, котороеобозначается L

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...