IIS переписывает аля SO - PullRequest
       55

IIS переписывает аля SO

0 голосов
/ 28 декабря 2010

Допустим, у меня есть сайт под названием

http://sub.example.com/

Я хочу переписать запросы так, чтобы, когда пользователь вводит:

http://sub.example.com/id/company-name

Он должен быть внутренне переписан в:

http://sub.example.com/public.aspx

(Полагаю, это похоже на то, как обрабатываются ссылки на вопросы SO, когда все вопросы имеют уникальный идентификатор и неуникальное название, и для создания страницы используется только идентификатор. Таким образом, старая ссылка на вопрос будет работать даже после изменения названия вопроса)

Я пытаюсь сделать это: В Application_BeginRequest в global.aspx я впервые признал, что запрашиваемая страница является «общедоступной» страницей. Тогда я делаю

HttpContext.Current.RewritePath ( "~ / государственный / default.aspx", False)

В ~/public/default.aspx Затем я извлекаю идентификатор для динамической генерации определенной страницы компании (например, логотипа и названия компании). Это хорошо работает в моей локальной среде разработки, но на сервере кажется, что Application_BeginRequest не запущен. Я думаю, это потому, что запрошенная папка не существует?

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

1 Ответ

1 голос
/ 28 декабря 2010

На IIS6 я использовал URL Rewriter (с открытым исходным кодом, бесплатно).На IIS 7 (или 7.5) я успешно использовал модуль URL Rewrite от Microsoft.

...