Intelligencia.UrlRewriter - PullRequest
       17

Intelligencia.UrlRewriter

0 голосов
/ 07 мая 2009

Я использую Intelligencia UrlRewriter в проекте.

Работает нормально, чтобы переписать URL-адреса, введенные в браузере.

Например, если я введу

http://localhost/People

Это корректно переписывается как:

http://localhost/People.aspx

Теперь проблема в том, что когда я в коде, мне нужно получить доступ к дружественному URL, но Request.ServerVariables, похоже, имеет только недружественный URL.

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

Ответы [ 4 ]

2 голосов
/ 07 мая 2009

Понял, ребята.

@ Ник Аллен и Pure.Krome: Спасибо за помощь !!

Я нашел часть данных в:

HttpContext.Current.Request.RawUrl

Если он существует в ServerVariables, я его не вижу, но в заключение, данные есть, поэтому мне не придется плакать, чтобы уснуть:)

Хорошо. Еще раз спасибо !!

1 голос
/ 03 февраля 2011
Request.PathInfo
Request.QueryString

Какой вы используете, зависит от того, переписываете ли вы default.aspx?myvar или default.aspx/myvar

0 голосов
/ 07 мая 2009

Правила перезаписи Intelligencia хранятся в файле web.config, который можно анализировать. Таким образом, вы можете просмотреть правила в файле web.config, чтобы найти совпадение и использовать найденное значение оттуда

Очевидно, что это не будет работать для сопоставления с образцом, просто явные правила, такие как в вашем примере

0 голосов
/ 07 мая 2009

Я использую это и был для .. э .. 2 года теперь я думаю. (Спасибо, gawd IIS7 и MVC здесь!)

В любом случае, можете ли вы проверить Переменные сервера IIS для всех из них и сообщить нам, что вы получаете ...

  1. PATH_INFO
  2. URL
  3. SCRIPT_NAME

Например (это фрагмент PATH_INFO для страницы, которую я настроил и которая сбрасывает ВСЕ переменные запроса): -

PATH_INFO: [/admin/Miscellaneous.aspx]

и получить его ..

Request.ServerVariables["PATH_INFO"]

Держите нас в курсе.

...